perm filename TEXTEX.TEX[WEB,ALS]3 blob
sn#712991 filedate 1983-05-27 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00013 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00003 00002 % This is the "TEX Beginner's Manual" source text
C00006 00003
C00017 00004 \null\vskip-46pt
C00032 00005 \centerline{\bf First Grade \TEX} \vskip .1in \centerline{\bf A Beginner's \TEX\
C00071 00006
C00093 00007
C00132 00008 This manual's use of fonts
C00139 00009 \appsectionbegin{Appendix F}
C00150 00010 \def\¬{\char'16 }
C00165 00011 Book quality text differs from ordinary typing in a number of simple but
C00179 00012 \def\normalbaselines{\lineskip 1pt \baselineskip 12pt \lineskiplimit 0pt }
C00183 00013 % \leftskip
C00202 ENDMK
C⊗;
% This is the "TEX Beginner's Manual" source text
\font\ninerm=cmr9 \font\eightrm=cmr8 \font\sixrm=cmr6 \font\mc=cmcsc
\font\seal=stan70
\def\TEX{T\hbox{\hskip-.1667em\lower.424ex\hbox{E}\hskip-.125em X}}
\def\BoX{B\hbox{\hskip-.05em\raise.35ex\hbox{o}\hskip-.1667em X}}
\def\GLue{GL\hbox{\hskip-.1667em\raise.54ex\hbox{ue}}}
\magnify{1200}
\def\DVI{{\mc DVI}}
\def\undertext#1{$\underline{\hbox{#1}}$}
\def\\{{\tt \char'134}}
\def\up{{\sy \char'42}}
\def\down{{\sy \char'43}}
\def\caret{{\char'17}}
% \def\&{{\char'46}}
\parskip 10pt plus 1pt
\parindent 0pt
\setcount0 0
\def\begintt{$$\let\par=\endgraf \ttverbatim
\catcode`\|=0 \rightskip-5pc \ttfinish}
{\catcode`\|=0 |catcode`|\=12 % | is temporary escape character
|obeylines % end of line is active
|gdef|ttfinish#1↑↑M#2\endtt{|vbox{#2}|endgroup$$}}
\null\vskip-46pt
\hbox to 6.5truein {Stanford Department of Computer Science\hfill May 1983}
\vskip .1in
\hbox to 6.5truein {Report No. STAN-CS-83-***\hfill(initial draft)}
\vfill
\centerline{\bf First Grade \TEX}
\vskip .1in
\centerline{\bf A Beginner's \TEX\ Manual}
\vskip .25in
\centerline{by}
\centerline{Arthur L. Samuel}
\vfill
\centerline{\seal S}
\vfill
{\baselineskip 9pt
This manual is based on the publications of Donald E. Knuth who
originated
the \TEX\ system and on the recent work of Professor Knuth and
his many students and
collaborators who have helped bring the \TEX82 system to its present
advanced state of development. The \TEX\ logo that is used throughout
this manual is trademark of The American Mathematical
Society.}
%\end
\eject
\setcount0 1
\centerline{\bf First Grade \TEX} \vskip .1in \centerline{\bf A Beginner's \TEX\
Manual}
{\bf Introduction}
This is an introductory ready-reference \TEX82 manual for the beginner
who would like to do First Grade \TEX\ work.
Only the most basic features of the \TEX\
system are discussed in detail. Other features are summarized in
appendices and references are given to the more complete documentation
available elsewhere.
\TEX\ is a computerized typesetting system. As \TEX\ is normally used,
the original text is typed (into an input file) very much as it would be
typed for submission to an old-fashion printer except that this input file
must now contain all of the instructions that are needed to describe the
desired format for the printed output. Given such a description, still in
rather general terms, the \TEX\ compiler is able to specify in precise
detail the font and the location for each character that is to be printed.
Your final output can meet the very best publishing standards.
Defining book quality text is not an easy task. While the \TEX\ system
takes care of many of the tedious details, the wealth of facilities that
\TEX\ provides can be very confusing to the beginner and sometimes even to
the experienced user. These facilities include the handling of such
matters as: 1.@ligature replacements, 2.@kerning, 3.@automatic
hyphenation, 4.@line justification, 5.@centering, 6.@flushing right or
left, 7.@tabular aligning, 8.@the formatting of complicated mathematical
expressions, 9.@section and page numbering, 10.@the introduction of
running heads, 11.@the numbering and placing of footnotes, and 12.@the
preparation of a table of contents and an index, to name but a few.
It will be assumed that the reader is already acquainted with the use of a
computer and with at least one text editor that can be used while typing
the \TEX\ source file. One minor warning at this point; Do not use an
editor that requires or leaves its own special formatting marks in the
file that it produces. Such marks will be assumed to be a part of the text
by \TEX . The text in the source file can and should be broken up into
reasonably short lines. \TEX\ will ignore your sentence breaks, extra
spaces between words, and extra blank lines between paragraphs.
The details as to how one actually types the source information, how this
is saved as a file on the system, how one evokes the \TEX\ compiler, and
how one instructs the computer system to print the final document, these
features are, of course, highly system dependent. Typical protocols for
some typical operating systems are listed in Appendix S.
\noindent {\bf Toward Book Quality}
Book quality text differs from ordinary typing in a number of simple but
far from trivial ways. In the first place, a distinction is made between
the upper case `O'@and@a@`0' and between the lower case `l'@and@a@`1',
then there is a distinction between hyphens, dashes,and the minus sign.
Also, your terminal should contain two varieties of `single' quotes and
when you wants a ``double'' quote you simply types two of the appropriate
single quotes and \TEX\ will space these correctly, as shown below.
$$\vbox{\halign {\hfil #\hfill\quad &\hfil #\hfil\quad &\hfil #\hfil\quad&
\hfil #\hfil\quad &\hfil #\hfil\quad&\hfil #\hfil\quad \cr
Name&Hyphen&En-dash&Em-dash&Minus sign&Double quotes\cr
To get&-&--&---&$-$&``text''\cr
You type&\tt -&\tt -{}-&\tt -{}-{}-{}&$\$${\tt -}$\$$&\tt `{}`text'{}'\cr}}$$
A word about hyphenation---\TEX\ can usually be depended upon to use
hyphens correctly (when this is necessary to achieve right justification) and
to avoid excessive hyphenation (by increasing or slightly decreasing
the inter-word spacings within pre-assigned limits).
There are exceptions,
\TEX\ will not normally hyphenate words beginning with a Capital letter
(so as not to hyphenate names), and there are words like pres-ent and
pre-sent where the positioning of a hyphen depends upon how the word is
used. When \TEX\ either refuses to hyphenate or makes a mistake, you can
gain hyphenation control over the word in question by inserting one or
more {\sl discretionary hyphens\/} at acceptable locations, using the {\sl
control sequence\/} `\\{\tt -}'. These will be ignored when not needed and
they will print as normal hyphens when needed.
\TEX\ provides for the automatic substitution of ligatures in most fonts,
replacing f{f} by ff, f{i} by fi, and f{l} by fl, unless this is
specifically disallowed, for example, by typing either f$\{$f$\}$ or
f$\{\}$f to get f{}f.
A nice feature of \TEX , when used with PLAIN.TEX (as will be assumed in
this manual), is the ease with which special accents and a few special
letters may be produced.
$$\vbox{\halign{\indent \hfil #\hfill\quad &\hfil #\hfil\quad &\hfil
#\hfil\quad& \hfil #\hfil\quad &\hfil #\hfil\quad&\hfil #\hfil\quad& \hfil
#\hfil\quad &\hfil #\hfil\quad&\hfil #\hfil\quad \cr
Name&grave´&``hat''¨aut&tilde&``bar''&dot\cr
To get&\`o&\'o&\↑o&\"o&\~o&\=o&\.o\cr
You type&\\`o&\\'o&\\\caret o&\\"o&\\{\tt \char'32}o&\\=o&\\.o\cr
\cr
Name&check&breve&long&tie-after¸la&bar-under&dot-under\cr
To get&\v o&\u o&\H o&\t o&\c o&\b o&\d o\cr
You type&\\v o&\\u o&\\H o&\\t o&\\c o&\\b o&\\d o\cr
\cr
To get&\oe ,\OE&\ae ,\AE&\aa ,\AA&\o ,\O&\l ,\L&\ss\cr
You type&\\oe,\\OE&\\ae,\\AE&\\aa,\\AA&\\o,\\O&\\l,\\L&\\ss\cr}}$$
These special symbols and characters all work equally well in \\rm, \\sl, \\it,
and \\bf fonts (to be explained under Fonts below). A few do not work in the
\\tt font,
which simulates a typewriter with fixed-width characters.
There are also a large number of, mainly mathematical, characters that are
available in the {\sl mathematics mode\/}---but more on this later.
\noindent{\bf Special Symbols}
Plain \TEX82 assigns special meanings to ten, infrequently used but
otherwise quite common, symbols. Should you wish these symbols to appear
as text in your final document they must be typed in a special way as
noted below. Note, in particular, that the {\sl escape character}, `\\ ',
is not to be confused with the ESC key that appears on many key boards.
$$\halign {\hfil #\hfil\quad &\hfil #\hfil\quad \hfill\cr
Symbol&As text&\qquad\quad Special \TEX\ meaning when used directly\cr
\cr
$\backslash$&$\backslash${\tt backslash}& Escape character used to
indicate the start of a \TEX\ Control\cr
&&\quad Sequence\cr
$\{$ \ and\ $\}$& $\$$\\$\{$$\$$ \ {\tt and} \ $\$$\\$\}$$\$$
& Grouping symbols used to indicate range of action of control\cr
&&\quad sequences to the enclosed text\cr
\$&\\{}\$& Used to initiate and terminate portion of the text that is to\cr
&&\quad be in Mathematics Mode\cr
\&&\\{}\&& Alignment tab, used to delineate fields within a \\halign \cr
\#&\\{}\#& Parameter, used to signify a field within a \\halign \cr
{\caret}&\\{\tt caret}&Superscript\cr
\_&\\{\tt \_}& Subscript\cr
\%&\\\%& Comment symbol, the rest of the line is ignored by \TEX \cr
\@&\\{\tt \@}& Active character, enforces a single space, without a line break \cr}$$
\noindent{\bf Issuing Commands to \TEX}
Commands to \TEX, as distinguished from the text itself, consist of the
{\sl escape character}, `\\', then the name of the command (without an
intervening space) and then, in some cases, the parameters that are
associated with the command. The command name can be of two types, either
1) a single non-alphabetic character that may, but need not, be followed
by a space, or 2) one or more alphabetic characters that must be
terminated by a space if the name is to be followed by other alphabetic
characters. These alphabetic characters are often in lower case, but
please note that the correct case, as specified, must always be used.
Example, `\$\\{\tt Omega}\$' produces `$\Omega$', while `\$\\{\tt
omega}\$' produces `$\omega$'.
Commands are of two types. Some 300 commands, called {\sl primitives\/}
and listed in Appendix P, are a part of \TEX 's built-in vocabulary . Then
there are {\sl control sequences}, sometimes called {\sl macros}, that are
constructed from these {\sl primitives\/} (or from other {\sl control
sequences}.
Many of the {\sl primitives\/} are normally only used to define {\sl
control sequences\/} and need not concern the beginner, but others specify
basic characteristics of the \TEX 's output, such, for example, as the
page size, the desired margins, the spacing between paragraphs, etc. Some
of the more important of these later are preassigned values by PLAIN.TEX,
although they can usually be re-specified by the user, either as a part of
a separate file or in the input document itself.
{\sl Control sequences\/} are used to simplify the typing of commands to
\TEX\ , since, once defined, they may be evoked by typing their names
only. Many very useful {\sl control sequences\/} are to be found in the
file PLAIN.TEX and these {\sl control sequences\/} are, in effect, added
to the basic vocabulary that \TEX\ understands when this file is preloaded
with \TEX . In addition, there exist a number of special collections of
{\sl macros\/} that \TEX\ experts have found useful for special purposes
such, for example, as writing business letters, preparing internal
memoranda, and preparing manuscripts for publication. The very first line
appearing in your source file may well be the control sequence \ \\{\tt
input} \ followed by the name of the file that contains the desired macro
collection, e.g. \ \\{\tt input MYMACS}. Note that \TEX\ assumes the
extension to be `{\tt .TEX}' if no extension is given.
\TEX , as supplemented by PLAIN, understands well over 900 {\sl control
sequences\/} but many of these are self-evident from their names and
others fall into a relatively few catagories, so that they can be easily
learned when needed. Some of the more important of these are tabulated in
Appendix F.
\noindent {\bf Fonts}
\TEX\ provides for the use of as many as 256 different fonts, each
containing as many as 256 different characters. {\mc PLAIN.TEX} provides
for 79 of the more useful fonts to be preloaded, although only 15 of these
have preassigned names. The default font, called roman, is requested in
{\mc PLAIN.TEX} by the use of the {\sl control sequence\/} `\\{\tt rm}'.
If you wished the entire text to be typed in boldface you would type
`\\{\tt bf}' as an early line in your text. If, on the otherhand, you
want a single word or a phrase to appear in a different font you should
use the grouping symbols to delimit the range.
For example, typing \ `{\tt to be} $\{$\\{\tt bf bold}$\}$ {\tt is to}
$\{$\\{\tt sl emphasize}$\}$ {\tt something}' will produce `to be {\bf
bold} is to {\sl emphasize} something'. Note, however, that a better
spacing is achieved in going from {\it italized} and {\sl slanted} text to
unslanted text if you type `$\{$\\{\tt it italized}\\/$\}$ and $\{$\\{\tt
sl slanted}\\/$\}$ {\tt text}' to get `{\it italized\/} and {\sl
slanted\/} text'. The `\\/' is an {\it italic correction\/} which varies
in size from letter to letter.
The following {\sl control sequences\/} simplify switching between fonts:
$$\vbox{\halign{\hfil#\hfil\quad&\hfil#\hfil\quad&
\hfil#\hfil\quad&\hfil#\hfil\quad&\hfil#\hfil\quad\cr
\\{\tt rm}&\\{\tt sl}&\\{\tt it}&\\{\tt tt}&\\{\tt bf}\cr
{\rm Roman}&{\sl Slanted}&{\it Italic}&{\tt Typewriter}&{\bf Boldface}\cr
}}$$
Fonts also come in different sizes. To demonstrate, if you type:
`$\{$\\{tenrm smaller and}$\}$ $\{$\\{ninerm smaller and}$\}$
$\{$\\ {eightrm smaller and}$\}$ $\{$\\ {sevenrm smaller and}$\}$
$\{$\\{sixrm smaller}$\}$', you get
`{\tenrm smaller and} {\ninerm smaller and} {\eightrm smaller and}
{\sevenrm smaller and} {\sixrm smaller}', all lined up to a common {\sl
baseline}.
This manual used so-called {\sl 10@point\/} type which is defined in PLAIN
as \\tenrm, except that the author has chosen to have everything
multiplied by 1.2 (for beginners), by having the command `\\{\tt multiply
(1200)})' appear ahead of any text in the source file. So the actual
sizes, in the above example, are all multiplied by 1.2. You may have also
noticed that this manual uses {\sl slanted\/} type for emphasis and `{\tt
typewriter type}' for things that you are told to type and for the messages
that the computer displays.
The characters within a font are all assigned serial numbers specifying
their location in the font, which correspond internally to ``ascii''
regardless of the code that your computer may use externally.
You can get
access to any character, including those that may not be on your keyboard, by typing `\\{\tt
char<number>}' where <number> is any number from 0 to 255. If you prefer
octal notation, you can type `\\{\tt char'101}' to get an
upper case `A' instead of `\\{\tt char65}', or, if you want to use
hexadecimal, you can type `\\{\tt char"41}'. Use this feature with
caution, however, since some of the numbers correspond to control
characters (including the special symbols mentioned above) that may do
unexpected things.
Another way to get symbols that are not on your keyboard, is to define
{\sl control sequences} for them. Three useful ones, `\$\\{\tt ne}\$',
`\$\\{\tt le}\$', and `\$\\{\tt ge}\$' for `$\ne$ ', `$\le$ ' and
`$\ge$ ', respectively are defined in PLAIN.TEX.
\noindent {\bf Dimensions and Key Words}
\TEX\ understands a variety of dimensional units and uses two-letter
abbreviations for their names. These abbreviations are used without the
\\ symbol and they are defined as {\sl key words}, that is, words that
convey fixed meanings to \TEX\ when they are used in the proper context.
These dimensions and their meanings are:
$$\vbox{\halign{\hfil#\hfil\quad\quad\qquad\qquad\hfill
&\hfil#\hfil\quad\hfil\quad\cr
Abbr.&Name&Per inch&Abbr.&Name&Per inch\cr
% pt&point&72.46&mm&millimeter&25.4\cr
pt&point&72.27&mm&millimeter&25.4\cr
% pc&pica&6.036&dd&Didot point&67.56\cr
pc&pica&6.023&dd&Didot point&67.54\cr
in&inch&1&bp&big point&72\cr
cm¢imeter&2.54&mi&mica&2540\cr}}$$
Sometimes it is convenient to use dimensions that are relative to the
character sizes in the font being used at the time. Two such units are:
the `{\sl em}', for measuring horizontal distances, which by tradition is
the width of the upper case `M' but which is an arbitrarily assigned value in
\TEX\ that is the width of a `quad' and the `{\sl ex}', for measuring
vertical distances, that is approximately the height of a lower case `x'.
\noindent {\bf To use \TEX }
Having written a simple file, say, MYFILE.TEX, which contains the desired
text together with a few {\sl control sequences\/} that define your
wishes, you may now call \TEX\ by typing: \ \ `{\tt R@tex82;MYFILE}', \
that is, if your computer system supports this construction.
Alternatively, you may have to type \ `{\tt TEX82}', or perhaps, `{\tt run
TEX}' and wait for a double asterisk `{\tt **}' prompt before typing the
name of your file. Note, that the `{\tt **}' response signifies that
\TEX\ is prepared to accept a file name (if the first character is not a
`\\' or an `\&'). If, on the other hand, the prompt is a single asterisk
`{\tt *}', (or if you are calling for another file within a file) then you
must precede the file name by the `\\{\tt input}' command thus: `\\{\tt
input MYFILE}'. If no extension is used, \TEX\ assumes it to be `{\tt
.TEX}'. Also remember to use lower case type for the word `{\tt input}'.
The source file itself may begin by referencing one or more additional
files (this time using the `\\ {\tt input}' command). These files may
define some special fonts that are to be used and they may contain the
definitions of some speciallized, frequently-used, constructs ({\sl
control sequences\/} or {\sl macros\/}) that are used to simplify the
typing of the desired instructions. Once defined, these constructs can
then be called by name as needed in the text file itself. Caution; do not load up your
working space with macros that you never use.
The \TEX\ program produces a \DVI\ (\undertext{d}e\undertext{v}ice
\undertext{i}ndependent) file, that specifies the exact location on the
page and the font for each character. Details as to the format of the
\DVI\ file itself are summarized in Appendix D. The DVI file may require
some further translation before it is acceptable as input to the available
printer but on most systems this further action is usually automatic,
requiring, at most, a carriage return confirmation.
It should be noted that \TEX\ does not need to know the raster-dot details
of each character but it does need to know the overall size and the
details as to how the individual characters may interact with adjacent
characters (resulting in ligature replacements or in kerning). This
information is usually contained in what are known as .TFM files. The
Printer, on the other hand does need to have access to the detailed
information as to the exact configuration of each character that is to be
printed and this information is usually contained in what are known as
.PXL files. The two sets of files must agree as to the fonts that they
describe or chaos will result.
\noindent {\bf An Example}
Perhaps, it is time to stop and show you an example, and what better
example than this manual itself, which was typed using plain \TEX . I will
limit the example to the the first two pages of my source file, and I will
fudge a bit by omitting a few macros that are actually on the first page
but that were deliberately not used in typing these first two page, and
indeed need never to have been used for the entire manual, except as
matter of convenience.
My file is called {\tt primer.tex} and it is divided into pages, although
this is not required and some installations may not permit this nicety.
Page 1 names several fonts that {\tt PLAIN} preloaded but did not name,
followed by a few macro definitions, only one being shown. This is
followed by the magnify command. Finally there are a few assignments of
parameter values. One would not ordinarily put in as many comments
(starting with the `\%' sign) as are shown, but these were added to help
you understand what was being done.
Page 1 of the source file contains:
\vfill
\vbox{\halign{\tt #\hfill&\hfill #\cr
\%\ This is the "TEX Beginner's Manual" source text\cr
\cr
\\font\\ninerm=cmr9\ \ \\font\\eightrm=cmr8\cr
\\font\\sixrm=cmr6\ \ \\font\\mc=cmcsc\cr
\\font\\seal=stan70 \% This is to produce the Stanford seal.\cr
\cr
\\def\\TEX$\{$T\\hbox$\{$\\hskip-.1667em\\lower.424ex\\hbox$\{$
E$\}$\\hskip-.125em X$\}\}$\cr
\ \ \ \%\ This produces the \\TEX\\ logo (with the lowered and closer spaced E).\cr
\cr
\\magnify$\{$1200$\}$ \ \%\ This magnifies everything by 1.2. \cr
\cr
\%\ Some assignments to override those made by PLAIN\cr
\cr
\\parskip 12pt plus 1pt \ \%\ This puts an empty line between paragraphs\cr
\ \ \ \%\ and allows this space to be increased by as much as 1 point if needed\cr
\\parindent 0pt \ \%\ Paragraphs are not to be indented\cr
\\setcount0 0 \ \%\ Title page is to be numbered 0.\cr}}
Page 2 of my source file produces the title page and contains:
\vfill
\vbox{\halign{\tt #\hfill\cr
\\null\\vskip-46pt \% Put the first line 46 points higher than normal\cr
\\hbox to 6.5truein $\{$Stanford Department of Computer Science\\hfill May 1983$\}$\cr
\ \ \ \% The \\hbox construction is a convenient way to line things up.\cr
\\vskip .1in \% Skip down 0.1 inch\cr
\\hbox to 6.5truein $\{$Report No. STAN-CS-83-***\\hfill(initial draft)$\}$\cr
\\vfill \% With the similar command later, divides the space evenly.\cr
\\centerline$\{$\\bf
First-Grade \\TEX$\}$\cr
\\vskip .1in\cr \\centerline$\{$\\bf A Beginner's \\TEX\\ Manual$\}$\cr
\\vskip .25in\cr
\\centerline$\{$by$\}$\cr
\\centerline$\{$Arthur L. Samuel$\}$\cr
\\vfill\cr \\centerline$\{$\\seal S$\}$\cr
\\vfill\cr
$\{$\\baselineskip 9pt\cr
This manual is based on the publications of Donald E. Knuth who originated\cr
the \\TEX\\ system and on the recent work of Professor Knuth and\cr
his many students and\cr
collaborators who have helped bring the \\TEX82 system to its present\cr
advanced state of development. The \\TEX\\ logo that is used throughout\cr
this manual is a trademark of The American
Mathematical Society.$\}$\cr
\cr
\\eject\cr}}
Compare this with the the title page itself.
It will help your understanding if you make
a file containing a title page for some paper that you have written or
intend to write by copying this sample and modifying it as needed. Then
try to run \TEX\ on this file. Unless you are extremely lucky, you will
be apt to get an error message that you will not understand---so read on.
If you have been lucky you might try changing the page size by putting
`{\tt \\hsize=4truein}' at the top of your text, or better yet start \TEX\
so that you get the `{\tt **}' prompt and then type `{\tt \\hsize=4truein}',
a space and then the name of your file. If this still works, then try 2
inches.
{\bf \BoX -ing with \GLue}
\TEX\ approaches the task of formatting a page of text much as a mason
might build a brick wall, which is to be laid in courses to a fixed
width using bricks that vary in size (and that have to be used in a fixed
order), with limits as to the minimum and maximum amount of mortar that
can be used between bricks.
\TEX\ happens to use different terms. Instead of {\sl bricks}, \TEX\
talks about `{\sl hboxes\/}' (the words in your text), which it assembles
out of simple `{\sl boxes\/}' (the individual letters). No {\sl mortar},
is used between letters (there may be some
`{\sl kerning}'). \TEX\ then puts these {\sl hboxes\/} together to form
larger {\sl hboxes}, (the lines of your text), using `{\sl glue\/}', in place of
{\sl mortar}, The {\sl glue\/} has the property of being {\sl
stretchable}, and, to a lesser extent, {\sl shrinkable}. This longer
{\sl hbox\/} is then expanded or compressed to make it meet
the `{\sl hsize\/}' dimension that has been preset by PLAIN or that you
have changed by typing {\tt \\hsize 4.25in}, for example.
\TEX\ treats an entire paragraph as a unit and tries to distribute the
text into as many lines as are required with the individual lines meeting
the {\sl hsize\/} requirement without excessive stretching or shrinking.
If this cannot be done, \TEX\ then tries to hyphenate. Actually, \TEX\
will usually find several ways that the paragraph can be broken, and a
choice will have to be made between them.
The way that \TEX\ makes this choice is rather complicated and need not
concern you in detail at this time. Suffice it to say, that \TEX\ makes
this choice by considering the amount of `{\sl badness\/}' that is charged
against each possible arrangement. {\sl Penalties\/} are assigned to each
possible line break point, either automatically or as you may elect, which
measure the undesirability of a break occuring at this particular place.
{\sl Demerits\/} are assigned, 1.@to each line for different features as
to its departure from the ideal, 2.@for the presence of adjacent lines
that differ from each other too much in their {\sl looseness\/} or that
are too similiar in certain obnoxious ways, for example, in both ending
with a hyphen, and 3.@ for poor paragraphing, such, for example, as
leaving a, so called, {\sl widow\/} word to appear at the top of a new
page.
\TEX\ will complain with an `{\tt overfull hbox}' \ message, if it is unable
to meet the tolerances that have been set in PLAIN (or that you have
specified).
Your choice then is to inspect the offending line or lines to
see if there is some simple way to overcome the difficulty, perhaps a
failure to hyphenate or a needless `\@' symbol that prevents a split
between two words. Lacking such a remedy, you can relax the restrictions
as to looseness or you can retype the sentence or paragraph so as to avoid
the trouble. Actually, there are a number of ways that you can anticipate trouble
and provide for it in advance, as you will learn through experience.
\vfill\end
{\big How \TEX\ is used}
As mentioned in the introduction, the usual practice is to supply \TEX\
with a source file that contain the desired text, properly annotated to
convey the necessary instructions as to how this text is to be processed.
One calls \TEX82 by typing a command to the system monitor that is then
followed either on the same line or in response to a double asterisk (**)
prompt by the name of this source file. This double asterisk is new in
\TEX82 and it is the only time that a file name will be accepted as a
command without being preceded by the \\ input command. A typical command
might be: \ \ {\tt R TEX82;MYFILE}. The extension {\mc .TEX} is assumed.
The source file itself may begin by referencing one or more additional
files (this time using the \\ input command). These files may define some
special fonts that are to be used and they may contain the definitions of
some speciallized, frequently-used, constructs ({\sl control sequences} or
{\sl macros}) that are used to simplify the typing of the desired
instructions. Once defined, these constructs can then be called by name
as needed in the text file itself.
\ \TEX82 has been designed so as to simplify the practice that had grown up
amoung \TEX\ users of saving a dump file in which the information from a
representative set of font files has already been loaded and in which a
preliminary set of macros has already been defined. This reduces the
multiple-file-loading time that would otherwise be required. One such
file called {\mc PLAIN.TEX} is supplied with \TEX82.
The \TEX\ program produces a \DVI\ (\undertext{d}e\undertext{v}ice
\undertext{i}ndependent) file, that specifies the exact location on the
page and the font for each character. Details as to the format of the \DVI\
file itself are summarized in Appendix D. The DVI file may require some
further translation before it is acceptable as input to the available
printer but on most systems this further action is usually automatic,
requiring, at most, a carriage return confirmation.
It should be noted that \TEX\ does not need to know the raster-dot details
of each character but it does need to know the overall size and the details
as to how the individual
characters may interact with adjacent characters (resulting in ligature
replacements or in kerning). This information is usually contained in what
are known as .TFM files. The Printer, on the other hand, does need to have
access to the detailed information as to the exact configuration of each
character that is to be printed and this information is usually contained
in what are known as .PXL files. The two sets of files must agree as to the
fonts that they describe or chaos will result.
{\big Issuing Commands to \TEX}
Commands to \TEX, as distinguished from the text itself, begin with a
special escape character, which, in this manual will be
assumed to be the backslash character (\\). This is followed by the name
of the command (without an intervening space) and then, in some cases, by
parameters that are associated with the command. The command names can be
of two types, either 1) a single non-alphabetic character that may, but
need not be followed by a space, or 2) one or more alphabetic characters
that must be terminated by a space if the name is followed by other
alphabetic characters. The \TEX\ commands themselves are known as {\sl
control sequences} or {\sl macros}. (Note: The escape character used by
\TEX\ is not to be confused with the ESC key that appears on many terminal
keyboards which is interpreted to mean something else by the computer's
operating system, and is never seen by \TEX.)
Remember: Control Sequences consist of a backslash, then a name that can
be either, 1) a single non-alphabetic character, or 2) one or more alphabetic
characters that must be terminated with a space if the name is followed by other
alphabetic characters. Unnecessary spaces that may be typed after a control
sequence are simply ignored.
\ \TEX\ understands over 300 control sequences as a part of its standard
built-in vocab\-u\-lary (listed in Appendix C). In addition, there exist a
number of special collections of macros that \TEX\ experts have found
useful for special purposes such, for example, as writing business
letters, preparing internal memoranda, and preparing manuscripts for
publication. The novice is well advised to use one of these packages. In
fact, the very first line appearing in your source file will usually begin
with the control sequence \ \\input \ followed by the name of the file
that contains the desired macro package. When such a package is used, the
control sequences or macros that it contains are in effect added to the basic
vocabulary that \TEX82 understands.
Nine printable characters are asigned special meanings by \TEX.
The characters
most often used, and the ones assumed in this manual, are: \hfill
\ \\, \ $\$$, \ $\{$, \ $\}$, \ \%, \ $\otimes$, \ $\#$, \ \up, and \ \down, \hfill
although on many machines the alignment tab ($\otimes$) is replaced by the
ampersand (\&), the superscript sign (\up) is replaced by the caret (\caret),
and the subscript sign (\down) is replaced by the underline
(\undertext {\ }\undertext {\ }). To type these as text characters (as contrasted
with their special \TEX\ usage), one types the
following control sequences: \hfil
\ \\\\, \ \ $\$$ \\ $\$$ $\$$ $\$$, \ \ $\$$ \\ $\{$ $\$$,
\ \ $\$$ \\ $\}$ $\$$, \ \ \\ \%,
\ \ $\$$ \\ otimes$\$$, \ \ $\$$ \\ $\#$ $\$$, \ \ \\ up, and \ \ \\ down. \hfill
\ \ {\sy \char'42}, and \ \ {\sy \char'43},
\vfill
\end
The uses made of these characters will be explained as they arise,
but for the present their meanings can be defined as follows:
$$\vbox{\halign{\ctr{#}\quad⊗#\qquad\hfill⊗\ctr{#}\quad⊗#\qquad\hfill
⊗\ctr{#}\quad⊗#\hfill\cr
Char.⊗Meaning⊗Char.⊗Meaning⊗Char.⊗Meaning\cr
\noalign{\vskip 3pt}
\\⊗Escape char.⊗$\}$⊗End group⊗$\#$⊗Parameter\cr
\$⊗Begin or end math⊗\%⊗Line end⊗$\up$⊗Superscript\cr
$\{$⊗Begin group⊗$\otimes$⊗Alignment tab⊗$\down$⊗Subscript\cr}}$$
\par\vfill\eject
\end
\sectionbegin{Changing Type Fonts}
One very important usage of control sequences is that
of specifying the type faces to be used in different portions of
the text. Type faces are grouped into fonts of 128
characters each, and, as noted earlier, there are computer files available
to \TEX\ that contain all of the essential information that \TEX\ needs to
know concerning the characters that make up these fonts.
The control sequence \\font is normally used to assign single character
names to the the fonts that one intends to use, thus \\font a$=$cmr10
assigns the name ``a'' to computer roman 10 point. An equivalent statement
is \\:a$=$cmr10. Having so defined \\:a , when one wants to use the
cmr10 font one types \\:a . One big caution: once a font is defined, it
cannot be redefined. If you should make the mistake of typing
\\:a$=$cmr10 a second time then $=$cmr10 would simply appear as text in
your finished document in font a. Actually, all of this is usually
relegated to macro packages.
Macro
packages are normally made available to \TEX\ by means of one or more
control sequences that are typed on the first few lines of one's source
file. As an example, the first line of the source file for this manual
contain the control sequence \ \\input\ \ followed by the name
{\tt kermac.tex}.
This macro package assigns convenient {\sl control sequence} names to some
42 sets of fonts that can be called as needed or that can be preloaded
with \TEX.
The names assigned to these fonts are listed in Appendix F.
On SU-AI one gets the preloaded \TEX\ for use with this macro package by typing
{\tt R MAXTEX}.
Fonts are usually grouped into families, \\tenpoint (as you are now
reading), \\ninepoint {\ninepoint (smaller)}, and \\eightpoint
{\eightpoint (still smaller)}, with suitable \\baselineskip assignments
made to adjust the spacing between lines to suitable values. Of course,
if you do not like the spacing between lines that your macro package
asigns, you can always change it by a \\baselineskip command (the macro
package used for this text specifies
\\baselineskip 12pt for the tenpoint family).
Each family contains several kinds of type, specified by simple control
sequences, \ \\rm ({\rm for roman}), \ \\it ({\it
for italics\/}), \ \\sl ({\sl for slanted\/}), \ \\bf ({\bf for bold-face}),
\ \\tt ({\tt for typewriter}), \ \\caps (for {\caps CAPS} and {\caps small caps}),
and \ \\sy ({\sy for Symbols}) {\tinyfnt (that says ``for Symbols'' in sy)}.
\ Having made a family
selection one need only type \ \\it \ {\it to change to italics}.
\ Actually, there is a bit more to it than that, since I did not want the
font change to persist, so I used the grouping characters, $\{$ and $\}$,
and I typed $\{$\\it to change to italics$\}$.
\par\vfill\eject
\sectionbegin{Some \TEX\ Conventions}
Following typesetting conventions,
linear dimentions may be expressed in any one of the following units with the
unit designated by its two-letter abbreviation as shown below:
$$\vbox{\halign{\ctr{#}\quad⊗#\quad⊗#\qquad\qquad\hfill
⊗\ctr{#}\quad⊗#\quad⊗#\cr
Abbr.⊗Name⊗Per inch⊗Abbr.⊗Name⊗Per inch\cr
pt⊗point⊗72.46⊗mm⊗millimeter⊗25.4\cr
pc⊗pica⊗6.036⊗dd⊗Didot point⊗67.56\cr
in⊗inch⊗1⊗bp⊗big point⊗72\cr
cm⊗centimeter⊗2.54⊗mi⊗mica⊗2540\cr}}$$
Typical dimensions might then be written as 13pc, or 13 pc, or -0.0138in.
When used with a control sequence, one might write
\\hsize6.5in or \\hsize 6.5 in, as meets your fancy. Units of
measure may sometimes be increased by a specified factor, for example,
\\multiply$\{$1100$\}$ multiplies all following dimensions by
1.1. If this control sequence is used you may want to specify\ \ \\hsize
6.5 truein\ \ if the horizontal page size is not to be affected.
Under certain conditions, it is nice to be able to express dimensions in
relative terms as related to the point size of the type being currently
used. Two such units are frequently used, the {\bf em} being the nominal width
of the letter M and the {\bf ex} being the height of the letter X. An
em-dimentioned space is obtained by the control sequence \\quad. Still
other sized spaces are available in the math-mode, as will be explained later.
\sectionbegin{Input States and Processing Modes}
To understand \TEX, we must recognize that it is normally doing one of
two quite different things, either 1) it is reading new information from
the input file while it may be holding some partially processed
information that it had previously read, or 2) it is processing
information (partially digesting it) while there may still be more input
information yet to be read. We characterize the condition of the reading
action by speaking of the input {\sl state} and the condition of the
processing by speaking of the processing {\sl mode}. We will have a lot
to say about {\sl modes} later but it may be well to dispose of this
matter of input {\sl states} once for all.
Two of the three possible input {\sl states} are fairly obvious, these
being state {\sl N}, when \TEX\ is prepared to read a
{\sl New line} of input information, and state {\sl M}, when it is
prepared to read another character in the {\sl Middle} of an input line of
information. There is, however, a third state that takes precedence over
these two other states, namely, state {\sl S} for {\sl Skipping Spaces} in
which \TEX\ will simply skip a space character if it should then read one
and remain in the {\sl S} state. It is the existance of this third state
that accounts for the seemingly cavalier treatment that \TEX\ gives to the
extra spaces that you may leave between words or between a control
sequence name and the following text.
There are two situations in which the input state is of no consequence.
If the next character encountered should happen to be the escape character
(\\) then, regardless of the existing input state, \TEX\ will procede to
scan the entire control sequence or macro that follows, leaving the input
in state {\sl S}, and procede to do whatever internal processing may
be appropiate.
Similarly, if the next character is a normal alphanumeric text character
or normal punctuation (but neither a space nor a carriage return), or
any of the following special characters,
\ \$, \ $\{$, \ $\}$, \ $\otimes$, \ $\#$, \ $\up$, or \ $\down$, \ then
\TEX\ passes this character on for internal processing (digests it),
leaving the input in state {\sl M}.
The input state is of consequence if the next character is either a space,
the character \%, or a carriage return. The action taken will then be
either to ignore or to digest the character (perhaps in a special way) and
then perhaps to alter the input state, all this as shown in the following
table:
$$\vbox{\halign{\ctr{#}\qquad\qquad\hfill⊗#\qquad\hfill⊗#\qquad\hfill⊗#\hfill\cr
Initial⊗On Reading---\cr
State⊗a space ⊗a carriage return ⊗the \%\ symbol\cr
\noalign{\vskip 5pt}
N⊗ignore ⊗digest \\par⊗ignore to end of line\cr
⊗stay in N ⊗stay in N ⊗digest \\par, stay in N\cr
\noalign{\vskip 4pt}
M⊗digest space⊗digest space⊗ignore to end of line\cr
⊗go to S ⊗go to N ⊗go to N\cr
\noalign{\vskip 4pt}
S⊗ignore ⊗ignore ⊗ignore to end of line\cr
⊗stay in S ⊗stay in S ⊗go to N\cr}}$$
\par\vfill
\end
\def\¬{\char'16 }
\ \TEX\ standard roman fonts.\lbrk
These same codes are used for \\sl fonts as well as for \\rm fonts.
Codes \¬000 through \¬041 are accessed by control sequences as
defined later in this appendix. Codes \¬043 and \¬044 are undefined.
Codes \¬042, \¬134, \¬136, \¬137, and \¬173 through \¬177 are
accessed indirectly via ligature information stored within
the font itself.
\moveright26pt\vbox{
\def\\{\char'}
\hbox{\hbox to 25pt{\hfill0\hfill}\!
\hbox to 25pt{\hfill1\hfill}\!
\hbox to 25pt{\hfill2\hfill}\!
\hbox to 25pt{\hfill3\hfill}\!
\hbox to 25pt{\hfill4\hfill}\!
\hbox to 25pt{\hfill5\hfill}\!
\hbox to 25pt{\hfill6\hfill}\!
\hbox to 25pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\|{\vrule height 10.5pt depth 4.5pt}
\halign{\hbox to 0pt{\hskip -24pt\¬#0\hfill}⊗\|
\hbox to 25pt{\hfill#\hfill\|}⊗\!
\hbox to 25pt{\hfill#\hfill\|}⊗\!
\hbox to 25pt{\hfill#\hfill\|}⊗\!
\hbox to 25pt{\hfill#\hfill\|}⊗\!
\hbox to 25pt{\hfill#\hfill\|}⊗\!
\hbox to 25pt{\hfill#\hfill\|}⊗\!
\hbox to 25pt{\hfill#\hfill\|}⊗\!
\hbox to 25pt{\hfill#\hfill\|}\cr
00⊗\\000⊗\\001⊗\\002⊗\\003⊗\\004⊗\\005⊗\\006⊗\\007\cr
\noalign{\hrule}
01⊗\\010⊗\\011⊗\\012⊗\\013⊗\\014⊗\\015⊗\\016⊗\\017\cr
\noalign{\hrule}
02⊗\\020⊗\\021⊗\\022⊗\\023⊗\\024⊗\\025⊗\\026⊗\\027\cr
\noalign{\hrule}
03⊗\\030⊗\\031⊗\\032⊗\\033⊗\\034⊗\\035⊗\\036⊗\\037\cr
\noalign{\hrule}
04⊗\\040⊗\\041⊗\\042⊗ ⊗ ⊗\\045⊗\\046⊗\\047\cr
\noalign{\hrule}
05⊗\\050⊗\\051⊗\\052⊗\\053⊗\\054⊗\\055⊗\\056⊗\\057\cr
\noalign{\hrule}
06⊗\\060⊗\\061⊗\\062⊗\\063⊗\\064⊗\\065⊗\\066⊗\\067\cr
\noalign{\hrule}
07⊗\\070⊗\\071⊗\\072⊗\\073⊗\\074⊗\\075⊗\\076⊗\\077\cr
\noalign{\hrule}
10⊗\\100⊗\\101⊗\\102⊗\\103⊗\\104⊗\\105⊗\\106⊗\\107\cr
\noalign{\hrule}
11⊗\\110⊗\\111⊗\\112⊗\\113⊗\\114⊗\\115⊗\\116⊗\\117\cr
\noalign{\hrule}
12⊗\\120⊗\\121⊗\\122⊗\\123⊗\\124⊗\\125⊗\\126⊗\\127\cr
\noalign{\hrule}
13⊗\\130⊗\\131⊗\\132⊗\\133⊗\\134⊗\\135⊗\\136⊗\\137\cr
\noalign{\hrule}
14⊗\\140⊗\\141⊗\\142⊗\\143⊗\\144⊗\\145⊗\\146⊗\\147\cr
\noalign{\hrule}
15⊗\\150⊗\\151⊗\\152⊗\\153⊗\\154⊗\\155⊗\\156⊗\\157\cr
\noalign{\hrule}
16⊗\\160⊗\\161⊗\\162⊗\\163⊗\\164⊗\\165⊗\\166⊗\\167\cr
\noalign{\hrule}
17⊗\\170⊗\\171⊗\\172⊗\\173⊗\\174⊗\\175⊗\\176⊗\\177\cr}
\hrule}
\par\vfill
\eject
\ \TEX\ Typewriter (\\tt) fonts. \lbrk
{\def\\{\char'}
All of the ascii printing characters appear in this fixed-width font
although the character $\}$ is at its SUAI code position rather than at
its ascii position. All SUAI characters that appear (some
are missing) are in their SUAI positions except for {\tt\\024},
{\tt\\025}, {\tt\\032}, {\tt\\033}, and {\tt\\175},
Codes \¬000 through \¬024 contain equivalent characters to those at the
same locations in the rm fonts. Code \¬040 prints as \ {\tt\\040} \ to
stand for a blank space when this representation is needed.}
\moveright26pt\vbox{
\def\\{\char'}
\hbox{\hbox to 25pt{\hfill0\hfill}\!
\hbox to 25pt{\hfill1\hfill}\!
\hbox to 25pt{\hfill2\hfill}\!
\hbox to 25pt{\hfill3\hfill}\!
\hbox to 25pt{\hfill4\hfill}\!
\hbox to 25pt{\hfill5\hfill}\!
\hbox to 25pt{\hfill6\hfill}\!
\hbox to 25pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\|{\vrule height 10.5pt depth 4.5pt}
{\halign{\hbox to 0pt{\hskip -24pt\¬#0\hfill}⊗\|
\hbox to 25pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 25pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 25pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 25pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 25pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 25pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 25pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 25pt{\hfill\tt#\hfill\|}\cr
00⊗\\000⊗\\001⊗\\002⊗\\003⊗\\004⊗\\005⊗\\006⊗\\007\cr
\noalign{\hrule}
01⊗\\010⊗\\011⊗\\012⊗\\013⊗\\014⊗\\015⊗\\016⊗\\017\cr
\noalign{\hrule}
02⊗\\020⊗\\021⊗\\022⊗\\023⊗\\024⊗\\025⊗\\026⊗\\027\cr
\noalign{\hrule}
03⊗\\030⊗\\031⊗\\032⊗\\033⊗\\034⊗\\035⊗\\036⊗\\037\cr
\noalign{\hrule}
04⊗\\040⊗\\041⊗\\042⊗\\043⊗\\044⊗\\045⊗\\046⊗\\047\cr
\noalign{\hrule}
05⊗\\050⊗\\051⊗\\052⊗\\053⊗\\054⊗\\055⊗\\056⊗\\057\cr
\noalign{\hrule}
06⊗\\060⊗\\061⊗\\062⊗\\063⊗\\064⊗\\065⊗\\066⊗\\067\cr
\noalign{\hrule}
07⊗\\070⊗\\071⊗\\072⊗\\073⊗\\074⊗\\075⊗\\076⊗\\077\cr
\noalign{\hrule}
10⊗\\100⊗\\101⊗\\102⊗\\103⊗\\104⊗\\105⊗\\106⊗\\107\cr
\noalign{\hrule}
11⊗\\110⊗\\111⊗\\112⊗\\113⊗\\114⊗\\115⊗\\116⊗\\117\cr
\noalign{\hrule}
12⊗\\120⊗\\121⊗\\122⊗\\123⊗\\124⊗\\125⊗\\126⊗\\127\cr
\noalign{\hrule}
13⊗\\130⊗\\131⊗\\132⊗\\133⊗\\134⊗\\135⊗\\136⊗\\137\cr
\noalign{\hrule}
14⊗\\140⊗\\141⊗\\142⊗\\143⊗\\144⊗\\145⊗\\146⊗\\147\cr
\noalign{\hrule}
15⊗\\150⊗\\151⊗\\152⊗\\153⊗\\154⊗\\155⊗\\156⊗\\157\cr
\noalign{\hrule}
16⊗\\160⊗\\161⊗\\162⊗\\163⊗\\164⊗\\165⊗\\166⊗\\167\cr
\noalign{\hrule}
17⊗\\170⊗\\171⊗\\172⊗\\173⊗\\174⊗\\175⊗\\176⊗\\177\cr
\noalign{\hrule}}}}
\par\vfill\eject
\noindent{\bf 5. \TEX\ standard math italic fonts.}\xskip The following table
of 128 codes shows the form \TEX\ expects the italic ({\tt it}) fonts to have
in math mode, if you use the control sequences for lower case Greek letters,
upper case italic Greek letters, and a few other special symbols listed later
in this appendix. Note that there is agreement with ascii code
on all of its printing characters, except for the \%\ sign and the
ten symbols that are missing in \TEX\ roman fonts (see the
previous pages).
\vfill
\moveright26pt\vbox{
\def\\{\char'}
\hbox{\hbox to 25pt{\hfill0\hfill}\!
\hbox to 25pt{\hfill1\hfill}\!
\hbox to 25pt{\hfill2\hfill}\!
\hbox to 25pt{\hfill3\hfill}\!
\hbox to 25pt{\hfill4\hfill}\!
\hbox to 25pt{\hfill5\hfill}\!
\hbox to 25pt{\hfill6\hfill}\!
\hbox to 25pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\|{\vrule height 10.5pt depth 4.5pt}
\halign{\hbox to 0pt{\hskip -24pt\¬#0\hfill}⊗\|
\hbox to 25pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:g#\hfill\|}\cr
00⊗\\000⊗\\001⊗\\002⊗\\003⊗\\004⊗\\005⊗\\006⊗\\007\cr
\noalign{\hrule}
01⊗\\010⊗\\011⊗\\012⊗\\013⊗\\014⊗\\015⊗\\016⊗\\017\cr
\noalign{\hrule}
02⊗\\020⊗\\021⊗\\022⊗\\023⊗\\024⊗\\025⊗\\026⊗\\027\cr
\noalign{\hrule}
03⊗\\030⊗\\031⊗\\032⊗\\033⊗\\034⊗\\035⊗\\036⊗\\037\cr
\noalign{\hrule}
04⊗\\040⊗\\041⊗\\042⊗\\043⊗\\044⊗\\045⊗\\046⊗\\047\cr
\noalign{\hrule}
05⊗\\050⊗\\051⊗\\052⊗\\053⊗\\054⊗\\055⊗\\056⊗\\057\cr
\noalign{\hrule}
06⊗\\060⊗\\061⊗\\062⊗\\063⊗\\064⊗\\065⊗\\066⊗\\067\cr
\noalign{\hrule}
07⊗\\070⊗\\071⊗\\072⊗\\073⊗\\074⊗\\075⊗\\076⊗\\077\cr
\noalign{\hrule}
10⊗\\100⊗\\101⊗\\102⊗\\103⊗\\104⊗\\105⊗\\106⊗\\107\cr
\noalign{\hrule}
11⊗\\110⊗\\111⊗\\112⊗\\113⊗\\114⊗\\115⊗\\116⊗\\117\cr
\noalign{\hrule}
12⊗\\120⊗\\121⊗\\122⊗\\123⊗\\124⊗\\125⊗\\126⊗\\127\cr
\noalign{\hrule}
13⊗\\130⊗\\131⊗\\132⊗\\133⊗ ⊗\\135⊗ ⊗ \cr
\noalign{\hrule}
14⊗\\140⊗\\141⊗\\142⊗\\143⊗\\144⊗\\145⊗\\146⊗\\147\cr
\noalign{\hrule}
15⊗\\150⊗\\151⊗\\152⊗\\153⊗\\154⊗\\155⊗\\156⊗\\157\cr
\noalign{\hrule}
16⊗\\160⊗\\161⊗\\162⊗\\163⊗\\164⊗\\165⊗\\166⊗\\167\cr
\noalign{\hrule}
17⊗\\170⊗\\171⊗\\172⊗\\173⊗\\174⊗\\175⊗\\176⊗\\177\cr}
\hrule}
\eject
\noindent{\bf 6. \TEX\ standard math symbol fonts.}\xskip The following
table of 128 codes shows the form \TEX\ expects the symbol ({\tt sy}) fonts
to have in math mode, if you use the control sequences for various special
symbols listed later in this appendix, or if you use special keys on your
terminal in math mode as explained below in subsection 8. Several positions
are undefined; they can be filled with any special characters
that might be needed in a particular job. The character in position
\¬100, which is used to negate a relation, has zero width.
\moveright26pt\vbox{
\def\\{\char'}
\hbox{\hbox to 25pt{\hfill0\hfill}\!
\hbox to 25pt{\hfill1\hfill}\!
\hbox to 25pt{\hfill2\hfill}\!
\hbox to 25pt{\hfill3\hfill}\!
\hbox to 25pt{\hfill4\hfill}\!
\hbox to 25pt{\hfill5\hfill}\!
\hbox to 25pt{\hfill6\hfill}\!
\hbox to 25pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\|{\vrule height 10.5pt depth 4.5pt}
\halign{\hbox to 0pt{\hskip -24pt\¬#0\hfill}⊗\|
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}\cr
00⊗\\000⊗\\001⊗\\002⊗\\003⊗\\004⊗\\005⊗\\006⊗\\007\cr
\noalign{\hrule}
01⊗\\010⊗\\011⊗\\012⊗\\013⊗\\014⊗\\015⊗\\016⊗\\017\cr
\noalign{\hrule}
02⊗\\020⊗\\021⊗\\022⊗\\023⊗\\024⊗\\025⊗\\026⊗\\027\cr
\noalign{\hrule}
03⊗\\030⊗\\031⊗\\032⊗\\033⊗\\034⊗\\035⊗\\036⊗\\037\cr
\noalign{\hrule}
04⊗\\040⊗\\041⊗\\042⊗\\043⊗\\044⊗\\045⊗\\046⊗\\047\cr
\noalign{\hrule}
05⊗\\050⊗\\051⊗\\052⊗\\053⊗\\054⊗\\055⊗\\056⊗\\057\cr
\noalign{\hrule}
06⊗\\060⊗\\061⊗\\062⊗\\063⊗\\064⊗\\065⊗\\066⊗ \cr
\noalign{\hrule}
07⊗\\070⊗\\071⊗\\072⊗\\073⊗\\074⊗\\075⊗\\076⊗ \cr
\noalign{\hrule}
10⊗\\100⊗\\101⊗\\102⊗\\103⊗\\104⊗\\105⊗\\106⊗\\107\cr
\noalign{\hrule}
11⊗\\110⊗\\111⊗\\112⊗\\113⊗\\114⊗\\115⊗\\116⊗\\117\cr
\noalign{\hrule}
12⊗\\120⊗\\121⊗\\122⊗\\123⊗\\124⊗\\125⊗\\126⊗\\127\cr
\noalign{\hrule}
13⊗\\130⊗\\131⊗\\132⊗\\133⊗\\134⊗\\135⊗\\136⊗\\137\cr
\noalign{\hrule}
14⊗\\140⊗\\141⊗\\142⊗\\143⊗\\144⊗\\145⊗\\146⊗\\147\cr
\noalign{\hrule}
15⊗\\150⊗\\151⊗\\152⊗\\153⊗\\154⊗\\155⊗ ⊗ \cr
\noalign{\hrule}
16⊗\\160⊗\\161⊗\\162⊗\\163⊗\\164⊗\\165⊗\\166⊗ \cr
\noalign{\hrule}
17⊗\\170⊗\\171⊗\\172⊗\\173⊗\\174⊗\\175⊗\\176⊗\\177\cr}
\hrule}
\vfill
\moveright26pt\vbox{
\def\\{\char'}
\hbox{\hbox to 25pt{\hfill0\hfill}\!
\hbox to 25pt{\hfill1\hfill}\!
\hbox to 25pt{\hfill2\hfill}\!
\hbox to 25pt{\hfill3\hfill}\!
\hbox to 25pt{\hfill4\hfill}\!
\hbox to 25pt{\hfill5\hfill}\!
\hbox to 25pt{\hfill6\hfill}\!
\hbox to 25pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\|{\vrule height 10.5pt depth 4.5pt}
\halign{\hbox to 0pt{\hskip -24pt\¬#0\hfill}⊗\|
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}\cr
00⊗\\000⊗\\001⊗\\002⊗\\003⊗\\004⊗\\005⊗\\006⊗\\007\cr
\noalign{\hrule}
01⊗\\010⊗\\011⊗\\012⊗\\013⊗\\014⊗\\015⊗\\016⊗\\017\cr
\noalign{\hrule}
02⊗\\020⊗\\021⊗\\022⊗\\023⊗\\024⊗\\025⊗\\026⊗\\027\cr
\noalign{\hrule}
03⊗\\030⊗\\031⊗\\032⊗\\033⊗\\034⊗\\035⊗\\036⊗\\037\cr
\noalign{\hrule}
04⊗\\025⊗\\041⊗\\042⊗\\043⊗\\044⊗\\045⊗\\046⊗\\047\cr
\noalign{\hrule}
05⊗\\050⊗\\051⊗\\052⊗\\053⊗\\054⊗\\055⊗\\056⊗\\057\cr
\noalign{\hrule}
06⊗\\060⊗\\061⊗\\062⊗\\063⊗\\064⊗\\065⊗\\066⊗ \cr
\noalign{\hrule}
07⊗\\070⊗\\071⊗\\072⊗\\073⊗\\074⊗\\075⊗\\076⊗\ \cr
\noalign{\hrule}
10⊗\\100⊗\\101⊗\\102⊗\\103⊗\\104⊗\\105⊗\\106⊗\\107\cr
\noalign{\hrule}
11⊗\\110⊗\\111⊗\\112⊗\\113⊗\\114⊗\\115⊗\\116⊗\\117\cr
\noalign{\hrule}
12⊗\\120⊗\\121⊗\\122⊗\\123⊗\\124⊗\\125⊗\\126⊗\\127\cr
\noalign{\hrule}
13⊗\\130⊗\\131⊗\\132⊗\\133⊗\\134⊗\\135⊗\\136⊗\\137\cr
\noalign{\hrule}
14⊗\\125⊗\\141⊗\\142⊗\\143⊗\\144⊗\\145⊗\\146⊗\\147\cr
\noalign{\hrule}
15⊗\\150⊗\\151⊗\\152⊗\\153⊗\\154⊗\\155⊗ ⊗ \cr
\noalign{\hrule}
16⊗\\160⊗\\161⊗\\162⊗\\163⊗\\164⊗\\165⊗\\166⊗ \cr
\noalign{\hrule}
17⊗\\170⊗\\171⊗\\172⊗\\173⊗\\174⊗\\175⊗\\176⊗\\177\cr}
\hrule}
\eject
\par\vfill\end
\noindent{\bf 7. \TEX\ standard math extension fonts.}\xskip The table of
128 codes on the next page
shows the form \TEX\ expects the extension ({\tt ex}) font to
have in math mode, if you use variable delimiters or the control
sequences for large operators listed later in this appendix.
\noindent{\bf 6. \TEX\ standard math symbol fonts.}\xskip The following
table of 128 codes shows the form \TEX\ expects the symbol ({\tt sy}) fonts
to have in math mode, if you use the control sequences for various special
symbols listed later in this appendix, or if you use special keys on your
terminal in math mode as explained below in subsection 8. Several positions
are undefined; they can be filled with any special characters
that might be needed in a particular job. The character in position
\¬100, which is used to negate a relation, has zero width.
\moveright26pt\vbox{
\def\\{\char'}
\hbox{\hbox to 25pt{\hfill0\hfill}\!
\hbox to 25pt{\hfill1\hfill}\!
\hbox to 25pt{\hfill2\hfill}\!
\hbox to 25pt{\hfill3\hfill}\!
\hbox to 25pt{\hfill4\hfill}\!
\hbox to 25pt{\hfill5\hfill}\!
\hbox to 25pt{\hfill6\hfill}\!
\hbox to 25pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\|{\vrule height 10.5pt depth 4.5pt}
\halign{\hbox to 0pt{\hskip -24pt\¬#0\hfill}⊗\|
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 25pt{\hfill\:u#\hfill\|}\cr
00⊗\\000⊗\\001⊗\\002⊗\\003⊗\\004⊗\\005⊗\\006⊗\\007\cr
\noalign{\hrule}
01⊗\\010⊗\\011⊗\\012⊗\\013⊗\\014⊗\\015⊗\\016⊗\\017\cr
\noalign{\hrule}
02⊗\\020⊗\\021⊗\\022⊗\\023⊗\\024⊗\\025⊗\\026⊗\\027\cr
\noalign{\hrule}
03⊗\\030⊗\\031⊗\\032⊗\\033⊗\\034⊗\\035⊗\\036⊗\\037\cr
\noalign{\hrule}
04⊗\\040⊗\\041⊗\\042⊗\\043⊗\\044⊗\\045⊗\\046⊗\\047\cr
\noalign{\hrule}
05⊗\\050⊗\\051⊗\\052⊗\\053⊗\\054⊗\\055⊗\\056⊗\\057\cr
\noalign{\hrule}
06⊗\\060⊗\\061⊗\\062⊗\\063⊗\\064⊗\\065⊗\\066⊗ \cr
\noalign{\hrule}
07⊗\\070⊗\\071⊗\\072⊗\\073⊗\\074⊗\\075⊗\\076⊗ \cr
\noalign{\hrule}
10⊗\\100⊗\\101⊗\\102⊗\\103⊗\\104⊗\\105⊗\\106⊗\\107\cr
\noalign{\hrule}
11⊗\\110⊗\\111⊗\\112⊗\\113⊗\\114⊗\\115⊗\\116⊗\\117\cr
\noalign{\hrule}
12⊗\\120⊗\\121⊗\\122⊗\\123⊗\\124⊗\\125⊗\\126⊗\\127\cr
\noalign{\hrule}
13⊗\\130⊗\\131⊗\\132⊗\\133⊗\\134⊗\\135⊗\\136⊗\\137\cr
\noalign{\hrule}
14⊗\\140⊗\\141⊗\\142⊗\\143⊗\\144⊗\\145⊗\\146⊗\\147\cr
\noalign{\hrule}
15⊗\\150⊗\\151⊗\\152⊗\\153⊗\\154⊗\\155⊗ ⊗ \cr
\noalign{\hrule}
16⊗\\160⊗\\161⊗\\162⊗\\163⊗\\164⊗\\165⊗\\166⊗ cr
\noalign{\hrule}
17⊗\\170⊗\\171⊗\\172⊗\\173⊗\\174⊗\\175⊗\\176⊗\\177\cr}
\hrule}
\eject
\par\vfill\end
\noindent{\bf 7. \TEX\ standard math extension fonts.}\xskip The table of
128 codes on the next page
shows the form \TEX\ expects the extension ({\tt ex}) font to
have in math mode, if you use variable delimiters or the control
sequences for large operators listed later in this appendix.
\vfill
{\def\bracex{\leaders\hrule height 1.5pt \hfill}
\def\dnbrace{$\char'772$\bracex$\char'775
\char'774$\bracex$\char'773$}
\def\upbrace{$\char'774$\bracex$\char'773
\char'772$\bracex$\char'775$}
\hbox to size{\hfill\hbox to 250pt{\dnbrace}\hfill}
\vskip6pt
\hbox to size{\hfill$\left\{\hskip6pt\vcenter{
\hbox par 250pt{Actually
\TEX\ addresses most of these characters indirectly; for example, all
left parentheses are addressed starting with character \¬000, based on
information stored in the font itself, and the font also tells \TEX\
that arbitrarily large left parentheses can be made from characters
\¬060 (top), \¬102 (middle), \¬100 (bottom). The only codes explicitly
referred to by \TEX\ are \¬000 to \¬016, \¬110, \¬112, \¬114, \¬116,
\¬120 to \¬127, and \¬160. Thus, a font designer can move most of the
other symbols if desired, subject only to the restriction that the code number
of a large symbol be greater than the code numbers
of its smaller variants.\xskip (If
codes are changed, however, it may be necessary to change the definitions of
control sequences like {\≡\bigglp≡\} in Appendix B.)\xskip It is expected that positions
marked ``{\:fundefined}'' in this chart will be filled with characters specially
tailored to specific jobs; for example, character \¬177 is used for the
``dangerous bend'' symbol in this manual, but it might not be present in
all \TEX\ extension fonts.}}\hskip6pt\right\}$\hfill}
\vskip6pt
\hbox to size{\hfill\hbox to 250pt{\upbrace}\hfill}}
\vfill
\eject
\vfill
\moveright26pt\vbox{
\def\\{\char'}
\hbox{\hbox to 25pt{\hfill0\hfill}\!
\hbox to 25pt{\hfill1\hfill}\!
\hbox to 25pt{\hfill2\hfill}\!
\hbox to 25pt{\hfill3\hfill}\!
\hbox to 25pt{\hfill4\hfill}\!
\hbox to 25pt{\hfill5\hfill}\!
\hbox to 25pt{\hfill6\hfill}\!
\hbox to 25pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\0{\vrule height 7.5pt depth 2.5pt}
\def\1{\vrule height 10pt depth 5pt}
\def\2{\vrule height 14.5pt depth 9.5pt}
\def\3{\vrule height 17.5pt depth 12.5pt}
\def\4{\vrule height 20.5pt depth 15.5pt}
\halign{\hbox to 0pt{\hskip -24pt$\vcenter{\hbox{\¬#0}}$\hfill}⊗\!
#⊗\hbox to 39.6pt{\hfill$\vcenter{\hbox{\:@#}}$\hfill}⊗\!
#⊗\hbox to 39.6pt{\hfill$\vcenter{\hbox{\:@#}}$\hfill}⊗\!
#⊗\hbox to 39.6pt{\hfill$\vcenter{\hbox{\:@#}}$\hfill}⊗\!
#⊗\hbox to 39.6pt{\hfill$\vcenter{\hbox{\:@#}}$\hfill}⊗\!
#⊗\hbox to 39.6pt{\hfill$\vcenter{\hbox{\:@#}}$\hfill}⊗\!
#⊗\hbox to 39.6pt{\hfill$\vcenter{\hbox{\:@#}}$\hfill}⊗\!
#⊗\hbox to 39.6pt{\hfill$\vcenter{\hbox{\:@#}}$\hfill}⊗\!
#⊗\hbox to 39.6pt{\hfill$\vcenter{\hbox{\:@#}}$\hfill}⊗\!
#⊗\hbox to 39.6pt{\hfill$\vcenter{\hbox{\:@#}}$\hfill}⊗#\cr
00⊗\1⊗\\000⊗\1⊗\\001⊗\1⊗\\002⊗\1⊗\\003⊗\1⊗\\004⊗\1⊗\\005⊗\1⊗\\006⊗\1⊗\\007⊗\1\cr
\noalign{\hrule}
01⊗\1⊗\\010⊗\1⊗\\011⊗\1⊗\\012⊗\1⊗\\013⊗\1⊗\\014⊗\1⊗\\015⊗\1⊗\\016⊗\1⊗ ⊗\1\cr
\noalign{\hrule}
02⊗\3⊗\\020⊗\3⊗\\021⊗\3⊗\\022⊗\3⊗\\023⊗\3⊗\\024⊗\3⊗\\025⊗\3⊗\\026⊗\3⊗\\027⊗\3\cr
\noalign{\hrule}
03⊗\3⊗\\030⊗\3⊗\\031⊗\3⊗\\032⊗\3⊗\\033⊗\3⊗\\034⊗\3⊗\\035⊗\3⊗\\036⊗\3⊗ \3\cr
\noalign{\hrule}
04⊗\4⊗\\040⊗\4⊗\\041⊗\4⊗\\042⊗\4⊗\\043⊗\4⊗\\044⊗\4⊗\\045⊗\4⊗\\046⊗\4⊗\\047⊗\4\cr
\noalign{\hrule}
05⊗\4⊗\\050⊗\4⊗\\051⊗\4⊗\\052⊗\4⊗\\053⊗\4⊗\\054⊗\4⊗ ⊗\4⊗ ⊗\4⊗ ⊗\4\cr
\noalign{\hrule}
06⊗\2⊗\\060⊗\2⊗\\061⊗\2⊗\\062⊗\2⊗\\063⊗\2⊗\\064⊗\2⊗\\065⊗\2⊗\\066⊗\2⊗\\067⊗\2\cr
\noalign{\hrule}
07⊗\2⊗\\070⊗\2⊗\\071⊗\2⊗\\072⊗\2⊗\\073⊗\2⊗\\074⊗\2⊗\\075⊗\2⊗\\076⊗\2⊗\!
\:fundefined⊗\2\cr
\noalign{\hrule}
10⊗\2⊗\\100⊗\2⊗\\101⊗\2⊗\\102⊗\2⊗\\103⊗\2⊗\:fundefined⊗\2⊗\:fundefined⊗\2⊗\\106\!
⊗\2⊗\\107⊗\2\cr
\noalign{\hrule}
11⊗\3⊗\\110⊗\3⊗\\111⊗\3⊗\\112⊗\3⊗\\113⊗\3⊗\\114⊗\3⊗\\115⊗\3⊗\\116⊗\3⊗\\117⊗\3\cr
\noalign{\hrule}
12⊗\1⊗\\120⊗\1⊗\\121⊗\1⊗\\122⊗\1⊗\\123⊗\1⊗\\124⊗\1⊗\\125⊗\1⊗\\126⊗\1⊗\\127⊗\1\cr
\noalign{\hrule}
13⊗\3⊗\\130⊗\3⊗\\131⊗\3⊗\\132⊗\3⊗\\133⊗\3⊗\\134⊗\3⊗\\135⊗\3⊗\\136⊗\3⊗\\137⊗\3\cr
\noalign{\hrule}
14⊗\0⊗\:fundefined⊗\0⊗\:fundefined⊗\0⊗\:fundefined⊗\0⊗\:fundefined⊗\0⊗\:f
undefined⊗\0⊗\:fundefined⊗\0⊗\:fundefined⊗\0⊗\:fundefined⊗\0\cr
\noalign{\hrule}
15⊗\0⊗\:fundefined⊗\0⊗\:fundefined⊗\0⊗\:fundefined⊗\0⊗\:fundefined⊗\0⊗\:f
undefined⊗\0⊗\:fundefined⊗\0⊗\:fundefined⊗\0⊗\:fundefined⊗\0\cr
\noalign{\hrule}
16⊗\4⊗\\160⊗\4⊗\\161⊗\4⊗\\162⊗\4⊗\\163⊗\4⊗\\164⊗\4⊗\\165⊗\4⊗\\166⊗\4⊗\:f
undefined⊗\4\cr
\noalign{\hrule}
17⊗\1⊗\\170⊗\1⊗\\171⊗\1⊗\\172⊗\1⊗\\173⊗\1⊗\\174⊗\1⊗\\175⊗\1⊗\:fundefined⊗\1⊗\:f
undefined⊗\1\cr}
\hrule}
\vfill
\sectionbegin{What \TEX\ Does}
\par\vfill\end
You will need to know a few does and don'ts about book-quality texts and
some of the special ways that \TEX\ handles these matters.\lbrk
UPPER and lower cases. \ \TEX\ draws a distnction between upper and lower
case in all cases. For example,
if the name of a desired control sequence is \\otimes, one
must not type \\Otimes.\lbrk
Extra spaces. \ Since \TEX\ adjusts the spacing between words to achieve the
desired line justification (except when told not to by the control sequence
\\nofill or by the use of a control-sequence specified typewriter-like font)
it automaticaly eats all extra spaces that you may type between words and in
this connection a carriage return is quivalent to a space. The exception to
this rule is when there are two carriage returns together, resulting in an
empty line which is an indication that you want to start a new paragraph.
But in this case extra empty spaces are similarly eaten!\lbrk
\par\vfill\end
l Sequences and Macros}
\subsectionbegin{Control Sequences and Macros}
The terms {\sl control sequence} and {\sl macro} are frequently used
interchangably to refer to the constructs or commands that are used to
control \TEX. In this manual we will try to draw a distinction between
those constructs that are more or less primitive that we will call {\sl
control sequences}, and constructs, called {\sl macros}, that are derived
from these {\sl control sequences} (or from other {\sl macros}), usually by
means of the control sequence \\def.
\TEX\ understands over 300 control
sequences as a part of its standard built-in vocabulary (listed in
Appendix C).
Many of these
control sequences take as arguments one or more parameters that are typed
immediately following the control sequence name. The arguments of macros
are, by way of contrast, usually given in braces following the macro name.
There exist a number of special collections of macros that \TEX\ experts
have found useful for special purposes such, for example, as writing
business letters, preparing internal memoranda, and preparing manuscripts
for publication.
The beginner is well advised to leave this matter of
designing macros to the experts. Your only problem will be to learn how
to use someone else's macros. But don't dispair, most of the ones that
you will be apt to need are more or less self-defined although some of the
abbreviations may be a bit tricky to learn.
\subsectionbegin{The Special Characters}
While the detailed use of these special characters
The use of the backslash
not a part of the sequences). The dollar signs are needed and they
signify that the characters in question are kept with the math fonts.
\par\vfill\end
\subsectionbegin{The Escape Character (\\)}
By default, the backslash character (\\) is reserved as the {\sl escape
character} to tell \TEX\ that the symbol or string of alphabetic
characters that follows is not
a part of the text but that it is a \TEX\ instruction of some sort. If
one wants a backslash to appear as a character in the final document (as
just used in this sentence) then one must type it twice, thus (\\\\).
Question: how did the writer get the backslash to appear twice in this
document?
\subsubsectionbegin{The Math-Mode Symbol (\$) }
The dollar sign (\$) is used by \TEX\ to act as a special
bracket-like symbol to enclose portions of the text that are to be typed
subject to certain mathematical conventions. You have seen this used above
in the explanation of how several of the reserved characters including the left and right braces were typed when needed
as a part of thee text. Another example worth noting is that the hyphen, when typed
alone is shown simply as a hyphen but if it is enclosed by dollar signs
thus, (\$-\$) it then appears as a minus sign thus ($-$).
Two variations of the Math-Mode are used, the simple Math-Mode, used when
mathematical symbols (or equations) are to appear in running text, and the
Display Math-Mode, used when the mathematical expression is to appear on a
separate line. In this latter case the expression must both begin and end
with two dollar signs
\subsubsectionbegin{The Grouping Symbols ($\{$) and ($\}$)}
The left brace ($\{$) and the right brace ($\}$) are used by \TEX\ to
delimit the action or define the range of effectiveness of {\sl control
sequences} and of related \TEX\ operators. \TEX\ always expects there to
be matching pairs of braces, which can be, and often are, nested to four
or five levels, and it can get badly confused and issue incomprehensible
error messages when braces are not matched, so beware.
\subsubsubsectionbegin{The End-of-Line Symbols (\%)}
The percent sign (\%)is regularly defined to be am end of line symbol.
This simply means that everything that follows it to the actual end of the typed
line is ignored, thus allowing explanatory comments to appear in the source
text without being taken to be part of the output text.
\subsubsubsectionbegin{The Alignment Tab ($\otimes$)}
The alignment tab ($\otimes$) is used to show the desired alignment of tabular
material, as will be explained later in the discussion of
the control sequences \\halign and \\valign (q.v.).
\subsubsubsectionbegin{The Number Sign ($\#%)}
The number sign ($\#$) is used in two special ways, the first being in
macro definitions, where it is to be followed digit and in alignment
preambles, as will be explained later.
\subsubsubsectionbegin{Superscript and Subscript Symbols ($\up$), and ($\down$)}
The up-arrow and the down-arrow are used by \TEX\ to indicate superscripts and
subscripts. See the section on Typing Math Formulas for details.
%\par\vfill\end
This manual's use of fonts
A word about the fonts used in this manual.
A typewriter-like style of type will be used to indicate the actual text and
\TEX\ commands that you might type on your terminal. The \TEX\ output
will, of course, be shown as it would appear, although, on occassion, we
may have to use a different font from that used for the manual text itself to
avoid this further source of confusion.
\par\end
Here are the typewriter symbols that will be used:
$$\save1\hbox{\≡0123456789"#$%&@*+-=,.:;?!≡\}
\save2\hbox{\≡()<>≡≤≡≥[]{}≡`≡'→↑≡↓←\|/⊗≡spose/=≡∞≡\}
\eqalign{⊗\hbox{\tt ABCDEFGHIJKLMNOPQRSTUVWXYZ}\cr
⊗\hbox{\tt abcdefghijklmnopqrstuvwxyz}\cr
⊗\box1\cr
⊗\box2\cr}$$
Should some of these symbols not be available on your terminal, there are
ways to simulate them, as will be explained later. There is one
additionad symbol that will be used in this manual to stand for a {\sl
blank space} when it is important to distinguish between a blank space
that you must actually type and spaces that normally appear in the text
describing what you do. This symbol is:
$$\hbox{\tt\char'40}$$
{\sl Control sequences}
When a {\sl control sequence} is typed, the escape character must
must be followed immediately by either 1) a string
of letters followed by a space, where the string of letters have been
defined either by default or by the user to specify an instruction of some
sort, or 2) a single non-alphabetic character that may be followed by a
space and that has again been defined to have some special meaning. In
either case, \TEX\ automatically eats up any (and all) spaces that may
follow such instructions. The use of the backslash followed immediately
by a space is a special control sequence in itself and it instructs \TEX\ to
introduce a space into the final document at this point.
We can illustrate the way {\sl control sequences} are typed by explaining
how the \TEX\ logo itself is typed. Following a convention established by
Don Knuth, the backslash followed by the letters {\tt TEX} followed by a
space (which we can make clear in this manual by writing \\ {tt TEX
\char'40} has been defined earlier to be a {\sl control sequence} and to
mean that the letters are to be crowded together with the {\tt E} dropped
slightly. So when this logo is to appear followed by a space, the writer
must type \\TEX\\char'40 . Remember you do not try to type {char'40} but
you do type a space in its stead. If, on the other hand, this special
arrangement of letters is to appear, say, at the end of a sentence where
it is to be followed immediately by a period, the writer leaves out the
extra backslash space and simply types \\TEX. where the period may be
typed either with or without an intervening space. The omission of the
space works in this case because, by definition, non-alphabetic characters
are not allowed in multi-character {\sl control sequences}. One must not
type a following alphabetic character without the intervening space
because the compiler would assume that this was a part of the character
string and would try to find a {\sl control sequence} that included this
additional letter. This may be all a bit confusing, so if it is, leave it
and come back and reread this paragraph when you are trying to do
something similar.
The convention regarding extra spaces is, of course, related to
the fact that \TEX\ is usually given the task of reformatting the text and
of adjusting the space between words so as to justify the right margins
(an exception to this occurs when a special typewriter-like font is used)
The writer is normally freed of all restrictions as to the lengths of
the lines that he types and he can introduce extra spaces and extra
carriage returns as he sees fit. Note, however, that an empty line is
normally used to signify a paragraph break so do not put them in
where not needed.
\par\end
\appsectionbegin{Appendix F}
\centerline{\bigfnt Characters Produced by Control Sequences}
\centerline{\bigfnt when in math mode}
Some of these characters are available directly from some terminals. All
of them can be obtained via the \\char route (e.g. When using a \\rm
font, \ \\char\char'16 000 \ produces the upper-case Gamma \ \char'000 ).
Note that \\gamma is not the same as \\Gamma.
\noindent{Lower Case Greek Letters}
$$
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\alpha⊗\\alpha\cr
\beta⊗\\beta\cr
\gamma⊗\\gamma\cr
\delta⊗\\delta\cr
\epsilon⊗\\epsilon\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\zeta⊗\\zeta\cr
\eta⊗\\eta\cr
\theta⊗\\theta\cr
\iota⊗\\iota\cr
\kappa⊗\\kappa\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\lambda⊗\\lambda\cr
\mu⊗\\mu\cr
\nu⊗\\nu\cr
\xi⊗\\xi\cr
\pi⊗\\pi\cr
\rho⊗\\rho\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\sigma⊗\\sigma\cr
\tau⊗\\tau\cr
\upsilon⊗\\upsilon\cr
\phi⊗\\phi\cr
\chi⊗\\chi\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\psi⊗\\psi\cr
\omega⊗\\omega\cr
\varphi⊗\\varphi\cr
\varpi⊗\\varpi\cr
\vartheta⊗\\vartheta\cr}}$$
\noindent{Upper Case Greek Letters}
$$
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\Gamma⊗\\Gamma\cr
\Delta⊗\\Delta\cr
\Theta⊗\\Theta\cr
\Lambda⊗\\Lambda\cr
}}\qquad\quad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\Xi⊗\\Xi\cr
\Pi⊗\\Pi\cr
\Sigma⊗\\Sigma\cr
\Upsilon⊗\\Upsilon\cr
\Phi⊗\\Phi\cr
}}\qquad\quad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\Psi⊗\\Psi\cr
\Omega⊗\\Omega\cr
\Gammait⊗\\Gammait\cr
\Deltait⊗\\Deltait\cr
}}\qquad\quad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\Thetait⊗\\Thetait\cr
\Lambdait⊗\\Lambdait\cr
\Xiit⊗\\Xiit\cr
\Piit⊗\\Piit\cr
\Sigmait⊗\\Sigmait\cr
}}\qquad\quad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\Upsilonit⊗\\Upsilonit\cr
\Phiit⊗\\Phiit\cr
\Psiit⊗\\Psiit\cr
\Omegait⊗\\Omegait\cr}}$$
\noindent{Script letters}
$$
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\Ascr⊗\\Ascr\cr
\Bscr⊗\\Bscr\cr
\Cscr⊗\\Cscr\cr
\Dscr⊗\\Dscr\cr
\Escr⊗\\Escr\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\Fscr⊗\\Fscr\cr
\Gscr⊗\\Gscr\cr
\Hscr⊗\\Hscr\cr
\Iscr⊗\\Iscr\cr
\Jscr⊗\\Jscr\cr
\Kscr⊗\\Kscr\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\Lscr⊗\\Lscr\cr
\Mscr⊗\\Mscr\cr
\Nscr⊗\\Nscr\cr
\Oscr⊗\\Oscr\cr
\Pscr⊗\\Pscr\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\Qscr⊗\\Qscr\cr
\Rscr⊗\\Rscr\cr
\Sscr⊗\\Sscr\cr
\Tscr⊗\\Tscr\cr
\Uscr⊗\\Uscr\cr
\Vscr⊗\\Vscr\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\Wscr⊗\\Wscr\cr
\Xscr⊗\\Xscr\cr
\Yscr⊗\\Yscr\cr
\Zscr⊗\\Zscr\cr
\lscr⊗\\lscr\cr}}$$
\noindent{Binary operators}
$$
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\pm⊗\\pm\cr
\mp⊗\\mp\cr
\times⊗\\times\cr
\div⊗\\div\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\rslash⊗\\rslash\cr
\cdot⊗\\cdot\cr
\oplus⊗\\oplus\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\ominus⊗\\ominus\cr
\otimes⊗\\otimes\cr
\odiv⊗\\odiv\cr
\odot⊗\\odot\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\uplus⊗\\uplus\cr
\ast⊗\\ast\cr
\circ⊗\\circ\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\bullet⊗\\bullet\cr
\interc⊗\\interc\cr
\lub⊗\\lub\cr
\glb⊗\\glb\cr}}$$
\noindent {Binary relations}
$$
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\up⊗\\up\cr
\down⊗\\down\cr
\←⊗\\$←$\cr
\→⊗\\$→$\cr
\↑⊗\\$\up$\cr
\↓⊗\\$\down$\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\↔⊗\\spose{$→$}{$←$}\cr
\lsh⊗\\lsh\cr
\rsh⊗\\rsh\cr
\perp⊗\\perp\cr
\vdash⊗\\vdash\cr
\dashv⊗\\dashv\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\mapsto⊗\\mapsto\cr
\relv⊗\\relv\cr
\relvv⊗\\relvv\cr
\subset⊗\\subset\cr
\supset⊗\\supset\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\not⊗\\not\cr
\in⊗\\in\cr
\notin⊗\\notin\cr
\prec⊗\\prec\cr
\preceq⊗\\preceq\cr
\succ⊗\\succ\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\succeq⊗\\succeq\cr
\sqsub⊗\\sqsub\cr
\lsls⊗\\lsls\cr
\grgr⊗\\grgr\cr
\simeq⊗\\simeq\cr
\approx⊗\\approx\cr
\doteq⊗\\doteq\cr}}$$
Note: The \ \\not \ symbol has zero width (to overwrite a following character).
\noindent{Brackets}
$$
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\lfloor⊗\\lfloor\cr
\lceil⊗\\lceil\cr
\{⊗\\$\{$\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\langle⊗\\langle\cr
\dleft⊗\\dleft\cr
\leftv⊗\\leftv\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\leftvv⊗\\leftvv\cr
\rfloor⊗\\rfloor\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\rceil⊗\\rceil\cr
\}⊗\\$\}$\cr
\rangle⊗\\rangle\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\dright⊗\\dright\cr
\rightv⊗\\rightv\cr
\rightvv⊗\\rightvv\cr}}$$
\noindent{Large Operators (text and display styles)}
$$
\vcenter{\halign{\hfill$#$\hfill\quad⊗\hfill$\dispstyle#$\hfill\quad⊗#\hfill\cr
\sum⊗\sum⊗\\sum\cr
\osum⊗\osum⊗\\osum\cr
\int⊗\int⊗\\int\cr
\oint⊗\oint⊗\\oint\cr
}}\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗\hfill$\dispstyle#$\hfill\quad⊗#\hfill\cr
\inter⊗\inter⊗\\inter\cr
\union⊗\union⊗\\union\cr
\squnion⊗\squnion⊗\\squnion\cr
\meet⊗\meet⊗\\meet\cr
\join⊗\join⊗\\join\cr
}}\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗\hfill$\dispstyle#$\hfill\quad⊗#\hfill\cr
\prod⊗\prod⊗\\prod\cr
\oprod⊗\oprod⊗\\oprod\cr
\odotprod⊗\odotprod⊗\\odotprod\cr
\munion⊗\munion⊗\\munion\cr}}$$
\noindent{Miscellaneous Math Symbols}
$$
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\iit⊗\\iit\cr
\jit⊗\\jit\cr
\real⊗\\real\cr
\imag⊗\\imag\cr
}}\quad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\aleph⊗\\aleph\cr
\wp⊗\\wp\cr
\infty⊗\\infty\cr
}}\quad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\emptyset⊗\\emptyset\cr
\#⊗\\$\#$\cr
\|⊗\\|\cr
\angle⊗\\angle\cr
}}\quad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\prime⊗\\prime\cr
\partial⊗\\partial\cr
\nabla⊗\\nabla\cr
}}\quad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\smallint⊗\\smallint\cr
\surd⊗\\surd\cr
\top⊗\\top\cr
\bot⊗\\bot\cr}}$$
\noindent{Miscellaneous Non-Math Symbols Allowed Only in Math Mode)}
$$
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\section⊗\\section\cr
\dag⊗\\dag\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\ddag⊗\\ddag\cr
\P⊗\\P\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\@⊗\\@\cr
\copyright⊗\\copyright\cr
}}\qquad\qquad
\vcenter{\halign{\hfill$#$\hfill\quad⊗#\hfill\cr
\sterling⊗\\sterling\cr
\$⊗\\\$\cr}}$$
\par\vfill\eject
\def\¬{\char'16 }
\sethsize{3in}
{\bf \ \TEX\ standard roman fonts.}\lbrk
These codes are used for \\rm,\ \\sl, \ and \ \\bf fonts.
Codes \¬000 through \¬041 are accessed by control sequences as
defined later in this appendix. Codes \¬043 and \¬044 are undefined.
Codes \¬042, \¬134, \¬136, \¬137, and \¬173 through \¬177 are
accessed indirectly via ligature information stored within
the font itself.
\par
\vskip -1.25in
\moveright3.5in\vbox{
\def\\{\char'}
\hbox{\hbox to 23pt{\hfill0\hfill}\!
\hbox to 23pt{\hfill1\hfill}\!
\hbox to 23pt{\hfill2\hfill}\!
\hbox to 23pt{\hfill3\hfill}\!
\hbox to 23pt{\hfill4\hfill}\!
\hbox to 23pt{\hfill5\hfill}\!
\hbox to 23pt{\hfill6\hfill}\!
\hbox to 23pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\|{\vrule height 10pt depth 4pt}
\halign{\hbox to 0pt{\hskip -24pt\¬#0\hfill}⊗\|
\hbox to 23pt{\hfill#\hfill\|}⊗\!
\hbox to 23pt{\hfill#\hfill\|}⊗\!
\hbox to 23pt{\hfill#\hfill\|}⊗\!
\hbox to 23pt{\hfill#\hfill\|}⊗\!
\hbox to 23pt{\hfill#\hfill\|}⊗\!
\hbox to 23pt{\hfill#\hfill\|}⊗\!
\hbox to 23pt{\hfill#\hfill\|}⊗\!
\hbox to 23pt{\hfill#\hfill\|}\cr
00⊗\\000⊗\\001⊗\\002⊗\\003⊗\\004⊗\\005⊗\\006⊗\\007\cr
\noalign{\hrule}
01⊗\\010⊗\\011⊗\\012⊗\\013⊗\\014⊗\\015⊗\\016⊗\\017\cr
\noalign{\hrule}
02⊗\\020⊗\\021⊗\\022⊗\\023⊗\\024⊗\\025⊗\\026⊗\\027\cr
\noalign{\hrule}
03⊗\\030⊗\\031⊗\\032⊗\\033⊗\\034⊗\\035⊗\\036⊗\\037\cr
\noalign{\hrule}
04⊗\\040⊗\\041⊗\\042⊗ ⊗ ⊗\\045⊗\\046⊗\\047\cr
\noalign{\hrule}
05⊗\\050⊗\\051⊗\\052⊗\\053⊗\\054⊗\\055⊗\\056⊗\\057\cr
\noalign{\hrule}
06⊗\\060⊗\\061⊗\\062⊗\\063⊗\\064⊗\\065⊗\\066⊗\\067\cr
\noalign{\hrule}
07⊗\\070⊗\\071⊗\\072⊗\\073⊗\\074⊗\\075⊗\\076⊗\\077\cr
\noalign{\hrule}
10⊗\\100⊗\\101⊗\\102⊗\\103⊗\\104⊗\\105⊗\\106⊗\\107\cr
\noalign{\hrule}
11⊗\\110⊗\\111⊗\\112⊗\\113⊗\\114⊗\\115⊗\\116⊗\\117\cr
\noalign{\hrule}
12⊗\\120⊗\\121⊗\\122⊗\\123⊗\\124⊗\\125⊗\\126⊗\\127\cr
\noalign{\hrule}
13⊗\\130⊗\\131⊗\\132⊗\\133⊗\\134⊗\\135⊗\\136⊗\\137\cr
\noalign{\hrule}
14⊗\\140⊗\\141⊗\\142⊗\\143⊗\\144⊗\\145⊗\\146⊗\\147\cr
\noalign{\hrule}
15⊗\\150⊗\\151⊗\\152⊗\\153⊗\\154⊗\\155⊗\\156⊗\\157\cr
\noalign{\hrule}
16⊗\\160⊗\\161⊗\\162⊗\\163⊗\\164⊗\\165⊗\\166⊗\\167\cr
\noalign{\hrule}
17⊗\\170⊗\\171⊗\\172⊗\\173⊗\\174⊗\\175⊗\\176⊗\\177\cr}
\hrule}
\par\vskip .5in
{\bf \ \TEX\ typewriter (\\tt) fonts.}\lbrk
{\def\\{\char'}
All of the ascii printing characters appear in this fixed-width font
although the character $\}$ is at its SUAI code position rather than at
its ascii position. All SUAI characters that appear (some
are missing) are in their SUAI positions except for {\tt\\024},
{\tt\\025}, {\tt\\032}, {\tt\\033}, and {\tt\\175},
Codes \¬000 through \¬024 contain equivalent characters to those at the
same locations in the rm fonts. Code \¬040 prints as \ {\tt\\040} \ to
stand for a blank space when this representation is needed.}
\vskip -1.755in
\moveright3.5in\vbox{
\def\\{\char'}
\hbox{\hbox to 23pt{\hfill0\hfill}\!
\hbox to 23pt{\hfill1\hfill}\!
\hbox to 23pt{\hfill2\hfill}\!
\hbox to 23pt{\hfill3\hfill}\!
\hbox to 23pt{\hfill4\hfill}\!
\hbox to 23pt{\hfill5\hfill}\!
\hbox to 23pt{\hfill6\hfill}\!
\hbox to 23pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\|{\vrule height 10pt depth 4pt}
{\halign{\hbox to 0pt{\hskip -24pt\¬#0\hfill}⊗\|
\hbox to 23pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 23pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 23pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 23pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 23pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 23pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 23pt{\hfill\tt#\hfill\|}⊗\!
\hbox to 23pt{\hfill\tt#\hfill\|}\cr
00⊗\\000⊗\\001⊗\\002⊗\\003⊗\\004⊗\\005⊗\\006⊗\\007\cr
\noalign{\hrule}
01⊗\\010⊗\\011⊗\\012⊗\\013⊗\\014⊗\\015⊗\\016⊗\\017\cr
\noalign{\hrule}
02⊗\\020⊗\\021⊗\\022⊗\\023⊗\\024⊗\\025⊗\\026⊗\\027\cr
\noalign{\hrule}
03⊗\\030⊗\\031⊗\\032⊗\\033⊗\\034⊗\\035⊗\\036⊗\\037\cr
\noalign{\hrule}
04⊗\\040⊗\\041⊗\\042⊗\\043⊗\\044⊗\\045⊗\\046⊗\\047\cr
\noalign{\hrule}
05⊗\\050⊗\\051⊗\\052⊗\\053⊗\\054⊗\\055⊗\\056⊗\\057\cr
\noalign{\hrule}
06⊗\\060⊗\\061⊗\\062⊗\\063⊗\\064⊗\\065⊗\\066⊗\\067\cr
\noalign{\hrule}
07⊗\\070⊗\\071⊗\\072⊗\\073⊗\\074⊗\\075⊗\\076⊗\\077\cr
\noalign{\hrule}
10⊗\\100⊗\\101⊗\\102⊗\\103⊗\\104⊗\\105⊗\\106⊗\\107\cr
\noalign{\hrule}
11⊗\\110⊗\\111⊗\\112⊗\\113⊗\\114⊗\\115⊗\\116⊗\\117\cr
\noalign{\hrule}
12⊗\\120⊗\\121⊗\\122⊗\\123⊗\\124⊗\\125⊗\\126⊗\\127\cr
\noalign{\hrule}
13⊗\\130⊗\\131⊗\\132⊗\\133⊗\\134⊗\\135⊗\\136⊗\\137\cr
\noalign{\hrule}
14⊗\\140⊗\\141⊗\\142⊗\\143⊗\\144⊗\\145⊗\\146⊗\\147\cr
\noalign{\hrule}
15⊗\\150⊗\\151⊗\\152⊗\\153⊗\\154⊗\\155⊗\\156⊗\\157\cr
\noalign{\hrule}
16⊗\\160⊗\\161⊗\\162⊗\\163⊗\\164⊗\\165⊗\\166⊗\\167\cr
\noalign{\hrule}
17⊗\\170⊗\\171⊗\\172⊗\\173⊗\\174⊗\\175⊗\\176⊗\\177\cr
\noalign{\hrule}}}}
\par\vfill\eject
{\bf \ \TEX\ standard math italic fonts.}\lbrk
These codes are used for \\it fonts. They are used directly for ascii
printed characters (except for the \%\ sign and the ten missing symbols in
the \TEX\ roman fonts), and by control sequences for lower case Greek
letters, upper case italic Greek letters, and a few other special symbols.
\vskip -1.125in
\moveright3.5in\vbox{
\def\\{\char'}
\hbox{\hbox to 23pt{\hfill0\hfill}\!
\hbox to 23pt{\hfill1\hfill}\!
\hbox to 23pt{\hfill2\hfill}\!
\hbox to 23pt{\hfill3\hfill}\!
\hbox to 23pt{\hfill4\hfill}\!
\hbox to 23pt{\hfill5\hfill}\!
\hbox to 23pt{\hfill6\hfill}\!
\hbox to 23pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\|{\vrule height 10pt depth 4pt}
\halign{\hbox to 0pt{\hskip -24pt\¬#0\hfill}⊗\|
\hbox to 23pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:g#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:g#\hfill\|}\cr
00⊗\\000⊗\\001⊗\\002⊗\\003⊗\\004⊗\\005⊗\\006⊗\\007\cr
\noalign{\hrule}
01⊗\\010⊗\\011⊗\\012⊗\\013⊗\\014⊗\\015⊗\\016⊗\\017\cr
\noalign{\hrule}
02⊗\\020⊗\\021⊗\\022⊗\\023⊗\\024⊗\\025⊗\\026⊗\\027\cr
\noalign{\hrule}
03⊗\\030⊗\\031⊗\\032⊗\\033⊗\\034⊗\\035⊗\\036⊗\\037\cr
\noalign{\hrule}
04⊗\\040⊗\\041⊗\\042⊗\\043⊗\\044⊗\\045⊗\\046⊗\\047\cr
\noalign{\hrule}
05⊗\\050⊗\\051⊗\\052⊗\\053⊗\\054⊗\\055⊗\\056⊗\\057\cr
\noalign{\hrule}
06⊗\\060⊗\\061⊗\\062⊗\\063⊗\\064⊗\\065⊗\\066⊗\\067\cr
\noalign{\hrule}
07⊗\\070⊗\\071⊗\\072⊗\\073⊗\\074⊗\\075⊗\\076⊗\\077\cr
\noalign{\hrule}
10⊗\\100⊗\\101⊗\\102⊗\\103⊗\\104⊗\\105⊗\\106⊗\\107\cr
\noalign{\hrule}
11⊗\\110⊗\\111⊗\\112⊗\\113⊗\\114⊗\\115⊗\\116⊗\\117\cr
\noalign{\hrule}
12⊗\\120⊗\\121⊗\\122⊗\\123⊗\\124⊗\\125⊗\\126⊗\\127\cr
\noalign{\hrule}
13⊗\\130⊗\\131⊗\\132⊗\\133⊗ ⊗\\135⊗ ⊗ \cr
\noalign{\hrule}
14⊗\\140⊗\\141⊗\\142⊗\\143⊗\\144⊗\\145⊗\\146⊗\\147\cr
\noalign{\hrule}
15⊗\\150⊗\\151⊗\\152⊗\\153⊗\\154⊗\\155⊗\\156⊗\\157\cr
\noalign{\hrule}
16⊗\\160⊗\\161⊗\\162⊗\\163⊗\\164⊗\\165⊗\\166⊗\\167\cr
\noalign{\hrule}
17⊗\\170⊗\\171⊗\\172⊗\\173⊗\\174⊗\\175⊗\\176⊗\\177\cr}
\hrule}
\par\vskip .5in
{\bf \ \TEX\ standard math symbol fonts.}\lbrk
These codes are used for \\sy fonts and are usually accessed by control
sequences, although they may be accessed directly if you know what you are doing
and/or if you have the appropriate keys on your terminal. Those positions left blank
are undefined. The character at code \¬100 is used for negation (it has zero width
and it can be used to overstrike the symbol that follows it).
\vskip -1.5in
\moveright3.5in\vbox{
\def\\{\char'}
\hbox{\hbox to 23pt{\hfill0\hfill}\!
\hbox to 23pt{\hfill1\hfill}\!
\hbox to 23pt{\hfill2\hfill}\!
\hbox to 23pt{\hfill3\hfill}\!
\hbox to 23pt{\hfill4\hfill}\!
\hbox to 23pt{\hfill5\hfill}\!
\hbox to 23pt{\hfill6\hfill}\!
\hbox to 23pt{\hfill7\hfill}}
\vskip 4pt
\hrule
\def\|{\vrule height 10pt depth 4pt}
\halign{\hbox to 0pt{\hskip -24pt\¬#0\hfill}⊗\|
\hbox to 23pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:u#\hfill\|}⊗\!
\hbox to 23pt{\hfill\:u#\hfill\|}\cr
00⊗\\000⊗\\001⊗\\002⊗\\003⊗\\004⊗\\005⊗\\006⊗\\007\cr
\noalign{\hrule}
01⊗\\010⊗\\011⊗\\012⊗\\013⊗\\014⊗\\015⊗\\016⊗\\017\cr
\noalign{\hrule}
02⊗\\020⊗\\021⊗\\022⊗\\023⊗\\024⊗\\025⊗\\026⊗\\027\cr
\noalign{\hrule}
03⊗\\030⊗\\031⊗\\032⊗\\033⊗\\034⊗\\035⊗\\036⊗\\037\cr
\noalign{\hrule}
04⊗\\040⊗\\041⊗\\042⊗\\043⊗\\044⊗\\045⊗\\046⊗\\047\cr
\noalign{\hrule}
05⊗\\050⊗\\051⊗\\052⊗\\053⊗\\054⊗\\055⊗\\056⊗\\057\cr
\noalign{\hrule}
06⊗\\060⊗\\061⊗\\062⊗\\063⊗\\064⊗\\065⊗\\066⊗ \cr
\noalign{\hrule}
07⊗\\070⊗\\071⊗\\072⊗\\073⊗\\074⊗\\075⊗\\076⊗ \cr
\noalign{\hrule}
10⊗\\100⊗\\101⊗\\102⊗\\103⊗\\104⊗\\105⊗\\106⊗\\107\cr
\noalign{\hrule}
11⊗\\110⊗\\111⊗\\112⊗\\113⊗\\114⊗\\115⊗\\116⊗\\117\cr
\noalign{\hrule}
12⊗\\120⊗\\121⊗\\122⊗\\123⊗\\124⊗\\125⊗\\126⊗\\127\cr
\noalign{\hrule}
13⊗\\130⊗\\131⊗\\132⊗\\133⊗\\134⊗\\135⊗\\136⊗\\137\cr
\noalign{\hrule}
14⊗\\140⊗\\141⊗\\142⊗\\143⊗\\144⊗\\145⊗\\146⊗\\147\cr
\noalign{\hrule}
15⊗\\150⊗\\151⊗\\152⊗\\153⊗\\154⊗\\155⊗ ⊗ \cr
\noalign{\hrule}
16⊗\\160⊗\\161⊗\\162⊗\\163⊗\\164⊗\\165⊗\\166⊗ \cr
\noalign{\hrule}
17⊗\\170⊗\\171⊗\\172⊗\\173⊗\\174⊗\\175⊗\\176⊗\\177\cr}
\hrule}
\par\vfill\end
Book quality text differs from ordinary typing in a number of simple but
far from trivial ways. In the first place, a distinction is made between
hyphens, dashes,and the minus sign, then there is a distinction between
upper case `O' and a `0' and between the lower case `l' and a `1'.
Your
terminal should contain two varieties of `single' quotes and when you
wants a ``double'' quote you simply types two of the appropriate single quotes
and \TEX\ knows enough to space these the appropiate distance apart.
How \TEX\ handles these matters is shown below:
\vskip 14pt
\halign {\indent \hfil #\hfill\quad &\hfil #\hfil\quad &\hfil #\hfil\quad&
\hfil #\hfil\quad &\hfil #\hfil\quad&\hfil #\hfil\quad \cr
Name&Hyphen&En-dash&Em-dash&Minus sign&Double quotes\cr
To get&-&--&---&$-$&``text''\cr
One types&\tt -&\tt -{}-&\tt -{}-{}-{}&$\$${\tt-}$\$$&\tt `{}`text'{}'\cr}
\vskip 14pt
Instructions to \TEX\ are given by means of special commands that require
the use of a limited number of, infrequently used but otherwise quite
common, symbols with special meanings. While the choice of these symbols
is subject to user control, the set shown below will be assumed in this
manual. This set is defined by the `PLAIN.TEX' file that is frequently
preloaded with \TEX82 . Please note that the `Escape Character' ,\\ , is
not to be comfused with the ESC key that appears on many key boards.
Should you wish these restricted symbols to appear as text in your final
document they must be typed in a special way.
\halign {\hfil #\hfil\quad &\hfil #\hfil\quad \hfill\cr
Symbol&As text&\qquad\quad Special \TEX\ meaning when used directly\cr
\cr
\\&\\{}\\&
Escape character used to indicate the start of a \TEX\ Control\cr
&&\quad Sequence\cr
$\{$ \ and\ $\}$&
$\$$\\$\{$$\$$ \ {\tt and}\ $\$$\\$\}$$\$$ &
Grouping symbols used to indicate range of action of control\cr
&&\quad sequences to the enclosed text\cr
\$&\\{}\$&
Used to initiate and terminate portion of the text that is to\cr
&&\quad be in Mathematics Mode\cr
\&&\\{}\&&
Alignment tab, used to delineate fields within an \\halign \cr
\#&\\{}\#&
Parameter, used to signify a field within a \\halign \cr
&&Superscript\cr
\_&\\{\tt \_}&
Subscript\cr
\%&\\\%&
Comment character, the rest of the line is not seen by \TEX \cr
\@&\\{\tt \@}&
active character,\cr}
\vskip 14pt
Commands to \TEX\ are of two flavors, either they are single
(non-alpabetical) characters or they are a string of alphabetic
characters terminated by at least one space (or some non-alphabetic
character to separate the command from the text that follows). In both cases, the
command must be preceded by an Escape Character (asumed to be the
back\-slash symbol, as noted above) without an intervening space.
Parenthetically, the backslash with a following space is itself a
control sequence meaning `insert a space for sure'.
Commands are also of two types, but this distinction is not of much
concern to the novice. Commands are either `Primitives' that are
understood by the raw \TEX\ or they are `Control Sequences' that are defined
in terms of primitives (or other control sequences) by means of separate
files of svch control sequences.
Control sequences are frequently called `Macros'.
One basic file of control sequences, `PLAIN.TEX', is usually preloaded with
\TEX\ , although it is common practice to supplement PLAIN.TEX with one or
more special files of control sequences. This Primer was written by a
novice using PLAIN.TEX and it will assume that you are also a novice and
that you will be using plain PLAIN.
\vfil
\end
%∞pagebrk∞tssec/Sections, SubSections, SubSubSections/
\newcount\varsec
\setcount\varsec 1
\def\posthdrskip{\dontbrk\vskip 5pt}
\def\sectionskip{\penalty-50\vskip 24pt plus 12pt minus 6pt}
\def\sectionbegin#1{\sectionbeginb{#1}{#1}}
\def\appsectionbegin#1{\appsectionbeginb{#1}{#1}}
\def\sectionbeginb#1#2{\addq1{\varsec}
\sectiondeclare{\hangobj{\Section\tit\sectionnum\hquad}\tit#1\¬
}{\sectionnum\hquad#1}{\sectionnum.\hquad#2}}
\def\appsectionbeginb#1#2{\sectiondeclare{\noindent\tit #1}{#1}{#2}}
\def\Section{$\section$}
\def\tit{\bigfnt}
% #1 = SECTION headline format, #2 = tofc format, #3 = odd rh format
\let\setq=\xdef
\def\consnum#1{#1}
%\def\ragged{\chpar8=} %\chpar is not defined
\def\sectiondeclare#1#2#3{\par
\setq\sectionnum{\consnum{\varsec}}
\setq\varssec{0}
\sectionskip
{\ragged 1000 #1}\constofc2{#2}\par
{\rhtypeface\xdef\rhoddpg{#3}\adjsechd}
\headmark{\rhevenpg}{\rhoddpg}
\posthdrskip}
% See use of the following in \secsubsecstyle
\def\adjsechd{}
\def\sectionnum{}
\def\subsectionbegin#1{\subsectionbeginb{#1}{#1}}
\def\appsubsectionbegin#1{\appsubsectionbeginb{#1}{#1}}
\def\subsectionbeginb#1#2{\addq1{\varssec}
\subsectiondeclare{\tenpoint
\hangobj{\bf\subsecnum\hquad}\rm#1}{\subsecnum\hquad#1}{\subsecnum\hquad#2}}
\def\appsubsectionbeginb#1#2{\subsectiondeclare{\tenpoint\noindent #1}{#1}{#2}}
% #1 = SUB-SECTION headline format, #2 = tofc format, #3 (odd rh for \secsubsecstyle)
\def\subsectiondeclare#1#2#3{\par
\setq\subsecnum{\consnum{\varsec.\varssec}}
\setq\varsssec{0}
\sectionskip
{\ragged 1000 #1}\constofc3{#2}\par
\posthdrskip}
%\inivar\varssec{1}
\newcount\varssec
\setcount\varssec 1
\def\subsecnum{}
%∞pagebrk
\def\subsubsectionbegin#1{\addq1{\varsssec}
\subsubsectiondeclare{\tenpoint\hangobj{\bf\subsubsecnum\hquad}\rm #1}{\subsubsecnum\hquad #1}}
\def\appsubsubsectionbegin#1{\subsubsectiondeclare{\tenpoint\noindent #1}{#1}}
% #1 = SUB-SUB-SECTION headline format, #2 = tofc format.
\def\subsubsectiondeclare#1#2{\par
\setq\subsubsecnum{\consnum{\varsec.\varssec.\varsssec}}
\sectionskip
{\ragged 1000 #1}\constofc4{#2}\par
\posthdrskip}
%\inivar\varsssec{1}
\newcount\varsssec
\setcount\varsssec 1
\def\subsubsecnum{}
%∞pagebrk∞tssec/Page Styles/
\def\oddevennumbering{\onelineheading
\gdef\onelinefmt##1##2{\ifeven0{\if T\ddvnum{{\topnum\count0}\hfill ##1}
\else{##1\hfill{\topnum\count0}}}
\else{##2\hfill{\topnum\count0}}}}
\def\ctrnumheading{\onelineheading
\gdef\onelinh##1{\vbox{\hbox to \hsheetsize{##1}
\hbox to \hsheetsize{\leaders\hrule height .2pt\hfill
\ctrnumfmt{\count0}\leaders
\hrule height .2pt\hfill}}}
\gdef\onelinefmt##1##2{##1\hfill ##2}}
\def\ctrnumfmt#1{\lower3pt\hbox to 25pt{\ctr{\botfnt #1}}}
\def\bottomnumbering{\endsheet
\computevsize{\epagesize}{.75in}
\gdef\nrmpage{\normmark\vfill\box5\cbotnum}
\gdef\titpage{\box5\numonlyrmn}
\let\headmark=\headmarknln
\gdef\onelinefmt##1##2{##1\hfill ##2}}
\def\topboxes{\endsheet
\computevsize{\epagesize}{.5in}
\gdef\nrmpage{\normmark\vfill\box5}
\gdef\titpage{\box5\numonlyrmn}
\gdef\headmark##1##2{{\rhtypeface\mark{\hdrfnt\boxh{##1}{##2}}}}
\gdef\trule{\vrule height 12.5 pt depth 6.5pt}
\gdef\boxh##1##2{\vbox{\hrule width \hsheetsize
\hbox to \hsheetsize{\trule
\ifeven0{\hbox to 25pt{\ctr{\topnum\count0}}
\trule\ctr{##1}}
\else{\ctr{##2}\trule
\hbox to 25pt{\ctr{\topnum\count0}}}
\trule}
\hrule}}}
%∞pagebrk∞tssec/Running Heads/
\def\secsubsecstyle{
\let\appchapterbegin=\appsectionbegin
\gdef\adjsechd{\xdef\rhevenpg{\rhoddpg}}
\let\junkiesubsec=\subsectiondeclare
\def\subsectiondeclare##1##2##3{\junkiesubsec{##1}{##2}{##3}
{\rhtypeface\xdef\rhevenpg{##3}}
\headmark{\rhoddpg}{\rhevenpg}}}
\def\fixedheadings#1#2{\let\oldheadmark=\headmark
\ifnull{#1}{\ifnull{#2}{}\else{\gdef\headmark##1##2{\oldheadmark{##1}{#2}}}}
\else{\ifnull{#2}{\gdef\headmark##1##2{\oldheadmark{#1}{##2}}}
\else{\gdef\headmark##1##2{\oldheadmark{#1}{#2}}}}}
\def\rhtypeface{\eightpoint}
\def\hdrfnt{\rm}
\def\topnum{\it}
% ∞tssec/Internal Handling of Page Styles and Headings/
\def\onelineheading{\endsheet
\computevsize{\epagesize}{\btmnrspace}
\gdef\nrmpage{\normmark\vfill\box5}
\gdef\titpage{\box5\numonlyrmn}
\gdef\onelinh##1{\vbox{\hbox to \hsheetsize{##1}\vskip 3pt\hrule height.2pt}}
\let \headmark=\headmarknln}
\def\headmarknln#1#2{{\rhtypeface\mark{\onelinh{\hdrfnt\onelinefmt{#1}{#2}}}}}
\let\rhevenpg=\¬
\let\rhoddpg=\¬
\def\normalbaselines{\lineskip 1pt \baselineskip 12pt \lineskiplimit 0pt }
\parskip 0pt plus 1pt
\abovedisplayskip 12pt plus 3pt minus 9pt
\belowdisplayskip 12pt plus 3pt minus 9pt
\abovedisplayshortskip 0pt plus 3pt
\belowdisplayshortskip 7pt plus 3pt minus 4pt
\topskip 10pt
\splittopskip 10pt
\parfillskip 0pt plus 1fil
\thinmuskip 3mu
\medmuskip 4mu plus 2mu minus 4mu
\thickmuskip 5mu plus 5mu
\pretolerance 100
\tolerance 200 % Initialized by TeX to 10000, but we change it
\linepenalty 10
\hyphenpenalty 50
\exhyphenpenalty 50
\clubpenalty 150
\widowpenalty 150
\displaywidowpenalty 50
\brokenpenalty 100
\binoppenalty 700
\relpenalty 500
\predisplaypenalty 10000
\doublehyphendemerits 10000
\finalhyphendemerits 1000
\adjdemerits 10000
\delimiterfactor 901
\looseness 0
\showboxbreadth 5
\showboxdepth 3
\hbadness 1000
\vbadness 1000
\tracinglostchars 1
\def\tracingall{\tracingonline1\tracingcommands2\tracingstats2\tracingpages1
\tracingoutput1\tracinglostchars1\tracingmacros1\tracingparagraphs1
\tracingrestores1
\showboxbreadth99999\showboxdepth99999\errorstopmode} % for online debugging
\uchyph 1
\parindent 20pt
\varunit 1pt
\hsize 6.5in
\vsize 8.9in
\maxdepth 2pt
\splitmaxdepth \maxdimen
\boxmaxdepth \maxdimen
\hfuzz 0.1pt
\vfuzz 0.1pt
\delimitershortfall 5pt
\nulldelimiterspace 1.2pt
\scriptspace 0.5pt
\overfullrule 5pt
% \leftskip
% \rightskip
% \tabskip
% \spaceskip
% \xspaceskip
% \everypar
% \postdisplaypenalty
% \interlinepenalty
% \mag % Initialized by TeX to 1000
% \time % Initialized by TeX to now
% \day % ditto
% \month % ditto
% \year % ditto
% \pausing
% \tracingonline
% \tracingmacros
% \tracingstats
% \tracingoutput
% \tracingcommands
% \tracingparagraphs
% \tracingpages
% \outputpenalty
% \maxdeadcycles % Initialized by TeX to 25
% \hangafter
% \floatingpenalty
% \mathsurround
% \lineskiplimit
{\bf To use \TEX }
Having written a simple file, say, MYFILE.TEX, which contains the desired
text together with a few {\sl control sequences} that define your wishes,
you must now call \TEX\ by typing: \ \ `{\tt R tex82;MYFILE}', that is, if your
computer system supports this construction. Alternatively, you may have to
type simply \ `{\tt TEX82}', or perhaps, `{\tt run TEX}' and wait for a
double asterisk `{\tt **}' prompt before typing the name of your file.
Note, that the `{\tt **}' response signifies that \TEX\ is prepared to
accept a file name (and nothing else). If, on the other hand, the prompt
is a single asterisk `{\tt *}', (or if you are calling for another file
within a file) then you must precede the file name by the `\\{\tt input}'
command thus:
`\\{\tt input MYFILE}'. If no extension is used, \TEX\ assumes it to be
`{\tt .TEX}'. Also remember to use lower case type for the word `{\tt input}'.
The source file itself may begin by referencing one or more additional
files (this time using the \\ input command). These files may define some
special fonts that are to be used and they may contain the definitions of
some speciallized, frequently-used, constructs ({\sl control sequences} or
{\sl macros}) that are used to simplify the typing of the desired
instructions. Once defined, these constructs can then be called by name
as needed in the text file itself.
The \TEX\ program produces a \DVI\ (\undertext{d}e\undertext{v}ice
\undertext{i}ndependent) file, that specifies the exact location on the
page and the font for each character. Details as to the format of the \DVI\
file itself are summarized in Appendix D. The DVI file may require some
further translation before it is acceptable as input to the available
printer but on most systems this further action is usually automatic,
requiring, at most, a carriage return confirmation.
It should be noted that \TEX\ does not need to know the raster-dot details
of each character but it does need to know the overall size and the details
as to how the individual
characters may interact with adjacent characters (resulting in ligature
replacements or in kerning). This information is usually contained in what
are known as .TFM files. The Printer, on the other hand does need to have
access to the detailed information as to the exact configuration of each
character that is to be printed and this information is usually contained
in what are known as .PXL files. The two sets of files must agree as to the
fonts that they describe or chaos will result.
\vfill
\end
\halign {\hfil #\hfil\quad &\hfil #\hfil\quad \hfill\cr
Symbol&As text&\qquad\quad Special \TEX\ meaning when used directly\cr
\cr
\\&\\{}\\&
Escape character used to indicate the start of a \TEX\ Control\cr
&&\quad Sequence\cr
$\{$ \ and\ $\}$&
$\$$\\$\{$$\$$ \ {\tt and} \ $\$$\\$\}$$\$$ &
Grouping symbols used to indicate range of action of control\cr
&&\quad sequences to the enclosed text\cr
\$&\\{}\$&
Used to initiate and terminate portion of the text that is to\cr
&&\quad be in Mathematics Mode\cr
\&&\\{}\&&
Alignment tab, used to delineate fields within an \\halign \cr
\#&\\{}\#&
Parameter, used to signify a field within a \\halign \cr
{\tt \char '136}&\\{\tt \char '136}&
Superscript\cr
\_&\\{\tt \_}&
Subscript\cr
\%&\\\%&
Comment character, the rest of the line is ignored by \TEX \cr
\@&\\{\tt \@}&
Active character, enforces a single space and not a line break \cr}
\input manhdr.tex[tex,dek]
The following story is condensed from ``The \TEX book''.
Use your favorite text editor to create a file called ↑{.story.tex} that
contains the following 13 lines of text (no more, no less):
$$\halign{\hbox to\the\parindent{\hfil\sevenrm#\ \ }\hfil\cr
1&|\hrule % Draws a horizontal line or rule across the page|\cr\noalign{↑(*hrule)}
2&|\vskip 1in % Skips 1 inch vertically|\cr\noalign{↑(*vskip)↑(leading, see vskip)}
3&|\centerline{\bf A SHORT STORY} % Centers the title|\cr\noalign{↑(:centerline)}
4&|\vskip 6pt % Skips 6 points|\cr
5&|\centerline{\sl by A. U. Thor}|\cr\noalign{↑(Thor)}
6&|\vskip .5cm % Now skip .5 cm|\cr
7&|Once upon a time, in a distant galaxy called \"O\"o\c c,|\cr\noalign{↑(:")↑(:c)}
8&|there lived a computer named R.@J. Drofnats.|\cr\noalign{↑(Drofnats)}
9&||\cr
10&|Mr.@Drofnats---or ``R. J.,'' as he preferred to be called---%|\cr
11&|was happiest when he was at work typesetting beautiful documents.|\cr
12&|\hrule|\cr
13&|\vfill\eject|\cr\noalign{↑(*vfill)↑(:eject)}}$$
(Don't type the numbers at the left of these lines, of course; they are
present only for reference.) \ This example illustrates a number of
control sequences that are relatively self explanatory. You will note
that the \\{\tt end} command is missing.
\vfill
\end
MORE on fonts
The characters within a font are all assigned serial numbers specifying
their location in the font, which correspond internally to ``ascii''
regardless of the code that your computer may use externally. You can get
access to any character that may not be on your keyboard by typing `\\{\tt
char<number>}' where <number> is any number from 0 to 255. If you are
happier using octal notation you can type `\\{\tt char'101}' to get an
upper case `A' instead of `\\{\tt char65}', or if you want to use
hexadecimal you can type `\\{\tt char"41}'. Use this feature with
caution, however, since some of the numbers correspond to control
characters (including the special symbols mentioned above) that may do
unexpected things.
Another way to get symbols that are not on your keyboard, is to define
{\sl control sequences} for them. Three useful ones, `\$\\{\tt ne}\$',
`\$\\{\tt le}\$', and `\$\\{\tt ge}\$' for `$\ne$ ', `$\le$ ' and
`$\ge$ ', respectively are defined in PLAIN.TEX.
\TEX\ provides for the automatic substitution of ligatures in most fonts,
replacing `f{f}' by `ff', `f{i}' by `fi', and `f{l}' by `fl', unless this is
specifically disallowed, for example, by typing either `f$\{$f$\}$' or
`f$\{\}$f' to get `f{}f'.
\noindent {\bf Error messages and what it all means}
{\bf Dimensions and Key Words}
\TEX\ understands a variety of dimensional units and uses two-letter
abbreviations for their names. These abbreviations are used without the
\\ symbol and they are defined as {\sl key words}, that is, words that
convey fixed meanings to \TEX\ when they are used in the proper context.
These dimensions and their meanings are:
$$\vbox{\halign{\hfil#\hfil\quad\quad\qquad\qquad\hfill
&\hfil#\hfil\quad\hfil\quad\cr
Abbr.&Name&Per inch&Abbr.&Name&Per inch\cr
% pt&point&72.46&mm&millimeter&25.4\cr
pt&point&72.27&mm&millimeter&25.4\cr
% pc&pica&6.036&dd&Didot point&67.56\cr
pc&pica&6.023&dd&Didot point&67.54\cr
in&inch&1&bp&big point&72\cr
cm¢imeter&2.54&mi&mica&2540\cr}}$$
Sometimes it is convenient to use dimensions that are relative to the
character sizes in the font being used at the time. Two such units are:
the {\sl em}, for measuring horizontal distances, which by tradition is
the width of the upper case `M' but which is an arbitrarily assigned value in
\TEX\ that is the width of a `quad' and the {\sl ex}, for measuring
vertical distances, that is approximately the height of a lower case `x'.
% \vfill \end
{\bf An Example}
Perhaps, it is time to stop and show you an example, and what better
example than this manual itself, which was typed using plain \TEX . I will
limit the example to the the first two pages of my source file, and I will
fudge a bit by omitting a few macros that are actually on the first page
but that were deliberately not used in typing these first two page, and
indeed need never to have been used for the entire manual, except as
matter of convenience.
My file is called `{\tt primer.tex}' and it is divided into pages,
although this is not required and some installations may not permit this nicety.
Page 1 names several fonts that {\tt PLAIN} preloaded but did not name,
followed by a few macro definitions, only one being shown. This is followed by
the magnify command. Finally there are a few assignments of parameter values.
One would not ordinarily put in as many comments (starting with the `\%' sign)
as are shown,
but these were added to help you understand what was being done.
Page 1 contains:
\vbox{\halign{\tt #\hfill&\hfill #\cr
\% This is the "TEX Beginner's Manual" source text\cr
\cr
\\font\\ninerm=cmr9\ \ \\font\\eightrm=cmr8\cr
\\font\\sixrm=cmr6\ \ \\font\\mc=cmcsc\cr
\\font\\seal=stan70 \% This is to produce the Stanford seal.\cr
\cr
\\def\\TEX$\{$T\\hbox$\{$\\hskip-.1667em\\lower.424ex\\hbox$\{$
E$\}$\\hskip-.125em X$\}\}$\cr
\ \ \ \%\ This produces the \\TEX\\ logo (with the lowered and closer spaced E).\cr
\cr
\\magnify$\{$1200$\}$ \ \%\ This magnifies everything by 1.2. \cr
}}
\vbox{\halign{#\hfill\cr
\%\ Some assignments to override those made by PLAIN\cr
\cr
\\parskip 12pt plus 1pt \ \%\ This puts an empty line between paragraphs\cr
\ \ \ \%\ and allows this space to be increased by as much as 1 point if needed\cr
\\parindent 0pt \ \%\ Paragraphs are not to be indented\cr
\\setcount0 0 \ \%\ Title page is to be numbered 0.\cr}}
Page 2 of my source file produces the title page and contains:
\vbox{\halign{#\hfill\cr
\\null\\vskip-46pt \% Put the first line 46 points higher than normal\cr
\\hbox to 6.5truein $\{$Stanford Department of Computer Science\\hfill May 1983$\}$\cr
\ \ \ \% The \\hbox construction is a convenient way to line things up.\cr
\\vskip .1in \% Skip down 0.+ inch\cr
\\hbox to 6.5truein $\{$Report No. STAN-CS-83-***\\hfill(initial draft)$\}$\cr
\\vfill \% With the similar command later, divides the space evenly.\cr
\\centerline$\{$\\bf First-Grade \\TEX$\}$\cr
\\vskip .1in\cr
\\centerline$\{$\\bf A Beginner's \\TEX\\ Manual$\}$\cr
\\vskip .25in\cr
\\centerline$\{$by$\}$\cr
\\centerline$\{$Arthur L. Samuel$\}$\cr
\\vfill\cr
\\centerline$\{$\\seal S$\}$\cr
\\vfill\cr
$\{$\\baselineskip 9pt\cr
This manual is based on the publications of Donald E. Knuth who originated\cr
the \\TEX\\ system and on the recent work of Professor Knuth and\cr
his many students and\cr
collaborators who have helped bring the \\TEX82 system to its present\cr
advanced state of development. The \\TEX\\ logo that is used throughout\cr
this manual is covered by a copyright owned by The American Mathematical\cr
Society.$\}$\cr
\cr
\\eject\cr}}
So much for the example. Now, it will help your understanding if you make
up a title page for some paper that you have written or intend to write
by copying this sample and modifying it as needed to say what you
want it to say. Then try to run \TEX\ on this file. Unless you are extremely
lucky, you will be apt to get an error message that you will not understand,
so read on.
\vfill \eject